Могу ли я использовать фоновое изображение, но содержать его во вложенном представлении?

Я пытаюсь создать экран с одной кнопкой сверху (полная ширина), фоновым изображением посередине с типом шкалы fitXY для растягивания до центральной области и 4 кнопками полной ширины внизу. Я почти получил это, но фоновое изображение заполняет ПОЛНЫЙ фон экрана (закрывая часть изображения), а не только область с вложенным ListView. Можно ли разместить фоновое изображение в определенной части экрана (только внутри вложенного дочернего представления)?

ОБНОВЛЕНИЕ: изображение может быть просто обрезано, поэтому не похоже, что оно остается внутри линейного макета. Есть ли способ использовать scaleType="fitXY" с фоновым изображением? Возможно, поместите его в файл drawable.xml?

ОБНОВЛЕНИЕ2: вставлен фактический код xml:

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


<LinearLayout
    android:orientation="vertical"
    android:layout_width="match_parent"
    android:layout_height="wrap_content"
    android:background="@drawable/pictureplaybk3"  >

<Button
  android:id="@+id/Signup_login_button"
  android:layout_width="match_parent"
  android:textColor="#ffffff"
  android:background="#1a2a50"
  android:layout_height="36sp"
  android:layout_gravity="top"
  android:onClick="onLoginSignupButtonClick"
  android:text="@string/login" />

<TextView
    android:id="@+id/home_instructions"
    android:layout_width="match_parent"
    android:layout_height="wrap_content"
    android:gravity="top"
    android:text="@string/home_instructions"
    android:textColor="#ffffff"
    android:background="#1a2a50"
    android:layout_gravity="top"
    android:textSize="20sp"
    android:textStyle="bold"
    android:visibility="gone" />

<ScrollView
    android:id="@+id/main_scroll"
    android:layout_width="fill_parent"
    android:layout_gravity="bottom"
    android:layout_marginTop="10dp"
    android:fadeScrollbars="true"
    android:scrollbarStyle="insideInset"
    android:layout_height="wrap_content">
    <LinearLayout 
        android:id="@+id/main_scroll_linearlayout"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:orientation="vertical" 
        android:layout_gravity="top"
        android:scrollbars="vertical" >

    </LinearLayout>
</ScrollView>

</LinearLayout>

 <LinearLayout
     android:id="@+id/bottom_buttons1" 
     android:layout_width="match_parent"
     android:layout_height="wrap_content"
     android:layout_gravity="bottom"
     android:orientation="vertical"
     android:layout_alignParentBottom="true" >

    <Button
         android:id="@+id/waiting_comments_button"
         android:layout_width="match_parent"
         android:textColor="#ffffff"
         android:background="#1a2a50"
         android:layout_height="36sp"
         android:layout_gravity="center_horizontal"
         android:onClick="onGetCommentsButtonClick"
         android:text="@string/get_comments"
         android:visibility="invisible" />

     <Button
         android:id="@+id/send_button"
         android:layout_width="match_parent"
         android:textColor="#ffffff"
         android:background="#1a2a50"
         android:layout_height="36sp"
         android:layout_gravity="center_horizontal"
         android:onClick="onSendButtonClick"
         android:text="@string/send_picture"
         android:visibility="invisible" />

     <Button
         android:id="@+id/guess_button"
         android:layout_width="match_parent"
         android:textColor="#ffffff"
         android:background="#1a2a50"
         android:layout_height="36sp"
         android:layout_gravity="center_horizontal"
         android:onClick="onGuessButtonClick"
         android:text="@string/guess_picture"
         android:visibility="invisible" />

     <Button
         android:id="@+id/invite_button"
         android:layout_width="match_parent"
         android:textColor="#ffffff"
         android:background="#1a2a50"
         android:layout_height="36sp"
         android:layout_gravity="center_horizontal"
         android:onClick="onInviteFriendButtonClick"
         android:text="@string/invite_friend"
         android:visibility="invisible" />

 </LinearLayout>

</RelativeLayout>

person user2431174    schedule 28.07.2014    source источник


Ответы (1)


да. Оберните прокрутку или список в линейный макет и установите фоновое изображение этого линейного макета.

<LinearLayout ...>

  <Button ... />
<LinearLayout 
  android:background="@drawable/imagename"
  ... >
  <ScrollView ... > (holds more dynamic buttons)
</LinearLayout>

<LinearyLaout ...>
  <Button .../>
  <Button .../>
  <Button .../>
  <Button .../>
 </LinearLayout

</LinearLayout>

Редактировать:

Попробуйте что-то вроде этого:

    <?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"  
android:orientation="vertical" >
<Button
  android:id="@+id/Signup_login_button"
  android:layout_width="match_parent"
  android:textColor="#ffffff"
  android:background="#1a2a50"
  android:layout_height="36sp"
  android:layout_gravity="top"
  android:onClick="onLoginSignupButtonClick"
  android:text="login" />

<LinearLayout
     android:id="@+id/bottom_buttons1" 
     android:layout_width="match_parent"
     android:layout_height="wrap_content"
     android:layout_gravity="bottom"
     android:orientation="vertical"
     android:layout_alignParentBottom="true" >

    <Button
         android:id="@+id/waiting_comments_button"
         android:layout_width="match_parent"
         android:textColor="#ffffff"
         android:background="#1a2a50"
         android:layout_height="36sp"
         android:layout_gravity="center_horizontal"
         android:onClick="onGetCommentsButtonClick"
         android:text="get_comments"
         android:visibility="invisible" />

     <Button
         android:id="@+id/send_button"
         android:layout_width="match_parent"
         android:textColor="#ffffff"
         android:background="#1a2a50"
         android:layout_height="36sp"
         android:layout_gravity="center_horizontal"
         android:onClick="onSendButtonClick"
         android:text="send_picture"
         android:visibility="invisible" />

     <Button
         android:id="@+id/guess_button"
         android:layout_width="match_parent"
         android:textColor="#ffffff"
         android:background="#1a2a50"
         android:layout_height="36sp"
         android:layout_gravity="center_horizontal"
         android:onClick="onGuessButtonClick"
         android:text="guess_picture"
         android:visibility="invisible" />

     <Button
         android:id="@+id/invite_button"
         android:layout_width="match_parent"
         android:textColor="#ffffff"
         android:background="#1a2a50"
         android:layout_height="36sp"
         android:layout_gravity="center_horizontal"
         android:onClick="onInviteFriendButtonClick"
         android:text="invite_friend"
         android:visibility="invisible" />

 </LinearLayout>

<LinearLayout
    android:layout_below="@id/Signup_login_button"
    android:layout_above="@id/bottom_buttons1"
    android:orientation="vertical"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:background="@drawable/pictureplaybk3"  >



<TextView
    android:id="@+id/home_instructions"
    android:layout_width="match_parent"
    android:layout_height="wrap_content"
    android:gravity="top"
    android:text="home instructions"
    android:textColor="#ffffff"
    android:background="#1a2a50"
    android:layout_gravity="top"
    android:textSize="20sp"
    android:textStyle="bold"
    android:visibility="gone" />

<ScrollView
    android:id="@+id/main_scroll"
    android:layout_width="fill_parent"
    android:layout_gravity="bottom"
    android:layout_marginTop="10dp"
    android:fadeScrollbars="true"
    android:scrollbarStyle="insideInset"
    android:layout_height="wrap_content">
    <LinearLayout 
        android:id="@+id/main_scroll_linearlayout"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:orientation="vertical" 
        android:layout_gravity="top"
        android:scrollbars="vertical" >

    </LinearLayout>
</ScrollView>

</LinearLayout>

</RelativeLayout>
person CoMag    schedule 28.07.2014
comment
Я пробовал это, но фоновое изображение не оставалось в линейном макете, но, возможно, это потому, что изображение было обрезано. Может быть, мне также нужен способ сделать fitXY на фоновом изображении. Это возможно? - person user2431174; 29.07.2014
comment
Не могли бы вы опубликовать весь свой xml-файл. - person CoMag; 29.07.2014
comment
весь текущий XML-файл, добавленный выше. - person user2431174; 29.07.2014