Android, XML: показывать только часть изображения в макете контейнера без изменения соотношения сторон - PullRequest
0 голосов
/ 23 ноября 2018

Я хочу установить фон на любой layout.Обычно, я бы продолжил это примерно так:

<LinearLayout
    android:orientation="vertical"
    android:background="#@drawale/somedrawable"
    android:gravity="center"
    android:layout_width="match_parent"
    android:layout_height="100dp"/>

Но это всегда сделает фон подходящим для LinearLayout.Но что, если макет был меньше по высоте, чем изображение, заданное в качестве фона?Я НЕ хочу уничтожить соотношение сторон изображения, а просто отцентрировать изображение внутри макета и перекрыть его по высоте, чтобы оно больше не было видно.

Чтобы уточнить:

Слева - то, что происходит в настоящее время, но справа - как я хочу быть.Поскольку контейнер макета меньше imageview или фонового изображения, предполагается, что он остается в центре, но показывает только то, что подходит без изменения соотношения сторон.

Ответы [ 2 ]

0 голосов
/ 29 ноября 2018

Используйте ImageView внутри линейного макета с шириной и высотой match_parent и установите scaleType="centerCrop"

<ImageView
    android:src="@drawable/somedrawable"
    android:scaleType="centerCrop"
    android:layout_width="match_parent"
    android:layout_height="match_parent"/>
0 голосов
/ 23 ноября 2018

Вы не можете применить свойство scaletype в linearlayout. Лучше использовать imageview для достижения этой цели. Ниже приведена ссылка на использование атрибута scaleType , чтобы избежать поведения сшивания.конвертировать ваше изображение в 9patch

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...