2012-05-15 45 views
1

我有以下簡單的佈局如何在ScrollView中設置背景顏色?

<?xml version="1.0" encoding="utf-8"?> 
<ScrollView xmlns:android="http://schemas.android.com/apk/res/android" 
    android:layout_width="fill_parent" 
    android:layout_height="wrap_content" > 

    <RelativeLayout 
     android:id="@+id/answerMainFrame" 
     android:layout_width="fill_parent" 
     android:layout_height="wrap_content" 
     android:background="@color/background" 
     android:isScrollContainer="true" 
     android:onClick="toAnswer" > 

     <ImageView 
      android:id="@+id/answer_img" 
      android:layout_width="wrap_content" 
      android:layout_height="wrap_content" 
      android:adjustViewBounds="true" 
      android:contentDescription="@string/question_img_cd" /> 

     <TextView 
      android:id="@+id/answer" 
      style="@style/Question" 
      android:layout_below="@id/answer_img" /> 
    </RelativeLayout> 

</ScrollView> 

但有時,這取決於的ImageView和TextView的大小,它不填滿屏幕的高度。沒關係。我只想讓屏幕的其餘部分變成白色而不是黑色。

我試着設置android:background="@color/background",這是白色的ScrollView,但我得到了同樣的結果。

我也嘗試將RelativeDelay設置爲android:layout_height="wrap_content",但它顯示警告。

我應該怎麼辦?

謝謝。

回答

3

ScrollView高度更改爲match_parent並設置白色作爲背景。所以像這樣的東西根據您的代碼:

<ScrollView xmlns:android="http://schemas.android.com/apk/res/android" 
        android:layout_width="fill_parent" 
        android:layout_height="match_parent" 
        android:background="@color/background"> 
... 

注意。 有關RelativeLayout的警告可以很容易地解釋。如果將其高度設置爲wrap_content,則無法這樣做,因爲其內部的元素需要父級的固定維度集才能夠執行諸如附加到底部或中心等等的操作。

起初我對此也有些疑惑。

+0

非常感謝@thisMayhem。這就像一個魅力。這似乎是一個明顯的答案。我以爲我已經嘗試過那個。 – eskalera

+0

@eskalera一個額外的眼睛卡住時總是有幫助,很高興它的工作 –

1

做這樣的

<ScrollView xmlns:android="http://schemas.android.com/apk/res/android" 
android:layout_width="fill_parent" 
android:layout_height="fill_parent" 
android:background="#ffffff > 

<RelativeLayout 
    android:id="@+id/answerMainFrame" 
    android:layout_width="wrap_content" 
    android:layout_height="wrap_content" 
    android:background="@color/background" 
    android:isScrollContainer="true" 
    android:onClick="toAnswer" > 

    <ImageView 
     android:id="@+id/answer_img" 
     android:layout_width="wrap_content" 
     android:layout_height="wrap_content" 
     android:adjustViewBounds="true" 
     android:contentDescription="@string/question_img_cd" /> 

    <TextView 
     android:id="@+id/answer" 
     style="@style/Question" 
     android:layout_below="@id/answer_img" /> 
</RelativeLayout> </ScrollView> 
+0

謝謝@ Nikhil蘭巴,這是絕對正確的。 – eskalera

+0

@eskalera:很高興解決你的問題:) –