Как заставить ImageView размером 320x480 заполнять весь экран эмулятора (размер 320x480 mdpi)?

Я работаю с экраном эмулятора, установленным на 320x480 MDPI. Я создал фоновое изображение в fireworks с точным размером 320x480 пикселей, поместил его в папку MDPI с возможностью рисования и установил его как ImageView в надежде, что оно заполнит весь фон эмулятора. Проблема заключается в том, что фон заполняется только по вертикали, но оставляет пустое пространство одинаково слева и справа по горизонтали.

Любая идея, что я делаю неправильно?


person Joshua Valentine    schedule 01.03.2013    source источник


Ответы (3)


Любая причина, по которой вы просто не устанавливаете фон в своем корневом представлении?

Так или иначе, заливка фона в Android дело хлопотное. Я предлагаю прочитать этот вопрос: Обработка различных разрешений экрана для фоновых изображений в Android

person Michael A.    schedule 01.03.2013

<ImageView android:layout_width="fill_parent"
           android:layout_height ="fill_parent" 
           android:scaleType="fillXY" />

Обратите внимание, что это приведет к масштабированию в направлении X, чтобы заполнить пространство, что немного исказит изображение.

person Gabe Sechan    schedule 01.03.2013

пожалуйста, не используйте ImageView, просто установите свойство android:background корневого макета в вашем xml. Посмотрите на этот пример:

<RelativeLayout 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:background="@drawable/your_image_here" >
    .....
    </RelativeLayout>

Я надеюсь, это поможет вам. Наилучшие пожелания

person vgarzom    schedule 01.03.2013
comment
Если приложение имеет несколько фонов, будет ли это работать? Благодаря тонну! - person Joshua Valentine; 02.03.2013
comment
Что ты имеешь в виду? вы хотите динамически менять фоновое изображение? - person vgarzom; 02.03.2013
comment
Мое приложение имеет более 1 фона в зависимости от активности. Например, у домашнего экрана есть фон, а у магазина другой фон. - person Joshua Valentine; 02.03.2013
comment
Хорошо, если у вас есть макет xml для каждого действия, вы можете без проблем определить изображение, которое вы собираетесь поместить в фоновом режиме. Если вы хотите изменить фон динамически с помощью кода, вы должны использовать метод макета setBackgroundDrawable(your_drawable). Наилучшие пожелания - person vgarzom; 02.03.2013
comment
Привет, если ответ был полезен для вас, не забудьте принять его. Наилучшие пожелания! - person vgarzom; 02.03.2013
comment
Я протестирую это в понедельник. Спасибо! - person Joshua Valentine; 03.03.2013