2016-03-08 2 views
0

Итак, я хотел поместить изображение в фоновом режиме моего экрана. Моя проблема в том, что если я просто добавлю изображение в «фон», он заполнит весь экран, и мое изображение будет искажено. Я мог бы установить как ImageView, но проблема в том, что у меня есть расширяемыйListView на одном экране, и я хотел, чтобы изображение оставалось позади, в качестве фона. Любая идея, как это сделать? Может иметь 2 решения: Поместите как imagemView, но за списком. Или добавьте в качестве фона, но измените его размер. Как мне это сделать?Android Studio - изменить размер фонового изображения

Вот что случилось:

enter image description here

Он то, что произойдет, если я поместить изображение как ImageView:

enter image description here

+0

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

+0

Если вы не хотите использовать «ImageView» за «ListView», создайте собственный класс «Drawable» и используйте его с 'listView.setBackground (Drawable)' – pskink

+0

@GabeSechan Но если я использую imageView, я создаю еще одну проблему. Изображение останется перед моим расширяемымListView. См. Пример, который я поставил на верхней части –

ответ

1

Да, это очень легко достичь с помощью относительных макетов

<RelativeLayout ... > 
    <ImageView ... 
      android:layout_alignParentTop="true" 
      android:scaleType="centerCrop“ /> 
    <ListView ... 
      android:layout_alignParentTop="true“ /> 
</RelativeLayout> 

С относительным расположением z-index определяется по заказу, который вы объявляете тегами, поэтому материал в нижней части xml находится перед материалом, находящимся ближе к вершине, когда они находятся в том же положении.

+0

Спасибо! Я не знал о заказе ..: b –

0

Используйте FrameLayout (вид Внутри FrameLayout написано сверху появится сверху и так далее)

<FrameLayout 
android:layout_height="match_parent" 
android:layout_width="match_parent" 
xmlns:android="http://schemas.android.com/apk/res/android"> 

<ListView 
    android:layout_width="match_parent" 
    android:layout_height="match_parent" 
    ></ListView> 


<ImageView 
    android:layout_width="your_width_in_dp" 
    android:layout_height="your_height_in_dp" 
    /> 

</FrameLayout> 

Вы можете также поместить FrameLayout внутри другого макета.

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