it-swarm.com.ru

Выровняйте ImageView в верхнем правом углу экрана

У меня есть imageView в моем макете, который служит фоном, который не масштабируется. Но мне нужно, чтобы мое изображение было в правом верхнем углу экрана. Теперь у меня есть изображение в левом верхнем углу экрана. Это мой xml для изображения:

    <ImageView
Android:layout_width="match_parent"
Android:layout_height="match_parent"
Android:layout_alignParentRight="true"
Android:src="@drawable/achtergrond"
Android:scaleType="fitCenter" />

Я также попытался поместить его в линейный макет, у которого есть gravity = "top | right", но он не удаляет пустое пространство вокруг изображения, потому что это с размерами match_parent. Мне также нужно сохранить масштаб изображения, поэтому я не могу сделать fill_parent.

Я надеюсь, что кто-то может помочь мне с этим!

7
Marc

Возможно добавлю

Android:adjustViewBounds="true" 

на ваше ImageView? У меня была похожая проблема.

22
osolmaz

Следующий макет разместит ваше изображение (или любой другой вид) в верхнем правом углу экрана. Проверьте комментарии ниже блока кода для более подробной информации.

<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:Android="http://schemas.Android.com/apk/res/Android"
    Android:layout_width="match_parent"
    Android:layout_height="match_parent" >

    <ImageView
        Android:id="@+id/imageView1"
        Android:layout_width="wrap_content"
        Android:layout_height="wrap_content"
        Android:layout_alignParentRight="true"
        Android:layout_alignParentTop="true" />

</RelativeLayout>

Важными частями являются обтекание RelativeLayout и layout_alignParentRightand layout_alignParentTopset в true для самого представления.

Это еще не завершит ваше полное представление, поскольку все это wrap_content. Вы можете использовать ресурсы разного размера для каждого типа экрана или работать с разными layout_width и layout_height, а затем использовать свойство scaleType по своему желанию (возможно, fitXY для масштабирования изображения в соответствии с видом).

Не используйте LinearLayout, если в этом нет необходимости. Документацию по RelativeLayout можно найти здесь .

10
hcpl

с линейной разметкой, чтобы соответствовать изображению с использованием изображения

Android:scaleType="fitXY"
0
stinepike

Я хотел бы отметить, что ответ hcpl является правильным, хотя я не смог этого добиться, потому что я установил гравитацию RelativeLayout на Center, чтобы он централизовал каждое дочернее представление в центр. Поэтому, если вы пришли сюда с такой же проблемой, пожалуйста, обратите внимание на мнение родителей.

0
glauber