2013-05-25 2 views
5

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

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

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

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

+0

Разве вы не должны устанавливать ширину и высоту на 'wrap_content'? Возможно, RelativeLayout - это то, что вы ищете для выравнивания ImageView в верхнем правом углу. – kabuto178

+0

опубликуйте ключевые части (атрибуты) родительского макета. – stinepike

ответ

0

с LinearLayout, чтобы соответствовать ImageView с изображением использовать

android:scaleType="fitXY" 
+0

Если бы я сделал это, изображение получило бы другой масштаб, поэтому я не смогу его использовать. – Marc

+0

вы можете настроить с помощью прокладки – stinepike

9

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

<?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_alignParentRight и layout_alignParentTop множество истина на самом представлении.

Это не будет завершать ваш полный просмотр, так как это все wrap_content. Вы можете use different size resources per screen type или работать с разными layout_width и layout_height, а затем использовать свойство scaleType, как вам нравится (возможно, fitXY, чтобы просмотреть увеличенное изображение).

Не используйте LinearLayout, если это необходимо. Documentation on RelativeLayoutcan be found here.

20

Может быть, добавить

android:adjustViewBounds="true" 

к вашему ImageView? У меня была аналогичная проблема.

0

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

Смежные вопросы