Я создал действие с изображением заголовка. Это изображение заголовка изначально создается внутри макета xml Activity, используя ImageView, где scaleType установлен на centerCrop. Это делает то, что я хочу, оно центрирует изображение, обрезая его влево и вправо в портретном режиме, показывая все в ландшафтном режиме.Эквивалент ImageView scaleType 'centerCrop' для растровой растягивающей силы тяжести
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:paddingTop="30dp"
android:paddingBottom="6dp"
android:paddingLeft="6dp"
android:paddingRight="6dp"
android:background="#919EAC"
android:orientation="vertical" >
<ImageView
android:id="@+id/header_image"
android:layout_width="match_parent"
android:layout_height="120dp"
android:contentDescription="@string/header_description"
android:scaleType="centerCrop"
android:src="@drawable/header" />
.... <other views> ...
Я хотел бы заменить это с фоновым Drawable, так что я могу использовать пространство заголовка изображения для отображения данных, и это экономит мне повторять один и тот же макет в различных видах деятельности.
По этой причине я создал вытяжку, что я могу сослаться на андроиде: фон атрибут:
<layer-list xmlns:android="http://schemas.android.com/apk/res/android" >
<item>
<shape android:shape="rectangle" >
<solid android:color="#919EAC" />
</shape>
</item>
<item>
<bitmap
android:antialias="true"
android:gravity="top|center_horizontal"
android:src="@drawable/header" />
</item>
</layer-list>
Это вытяжка определяет цветной фон, который в противном случае макет будет определять и определяет заголовок изображение, иначе он будет включен в макет как ImageView.
Однако теперь мое изображение масштабируется, в то время как я хотел бы, чтобы оно было обрезано.
Проверка Android документации Я пробовал другие режимы, такие как гравитационные
android:gravity="top|clip_horizontal"
Но она по-прежнему кажется, дисплей/масштаба иначе, чем вид изображения.
Каким будет правильное определение фона?
Возможно, вы сможете найти решение вашей проблемы? Я борюсь с тем же. – Marty
related http://stackoverflow.com/questions/5119366/set-size-of-layered-drawable – mathheadinclouds
Как насчет "fill_vertical \ clip_horizontal" –