2010-01-09 19 views
29

我有一些ScrollViews的問題。最近我嘗試創建一個LinearView,其內容超出了屏幕大小,因此我使用父元素ScrollView創建了新的佈局,並將其寬度和高度設置爲自定義值(佈局必須顯示爲對話框 - 而不是填充整個屏幕)。Android:ScrollView問題

當選擇元素時,紅色邊框顯示爲包含預定義的ScrollView LayoutWidth和LayoutHeight的矩形,這是正常的。然後,我將其放置在LinearView中,並將值LayoutWidth和LayoutHeight設置爲fill_parent。

然後,當我開始將元素添加到LinearLayout中時,邊框(紅色lile)包裝插入的元素,而不是整個父級ScrollView。

因此,當LinearLayout(ScrollView的子元素)的內容超出父ScrollView的大小時,不會出現滾動,並且底部元素不可見。

無論如何..在這種情況下,XML內容過於廣泛,無法在此發佈問題,現在我遇到了與更簡單示例相同的問題。

以下部分佈局旨在成爲可滾動的EditText(萬一用戶輸入超出小部件的主大小)。我想將EditText高度設置爲120px,因此我將父級ScrollView高度設置爲120px,將子EditText設置爲fill_parent。同樣,在這種情況下,EditText上沒有填滿整個滾動型區域,但一行:

<ScrollView android:layout_height="120px" android:layout_width="fill_parent"> 
<EditText android:id="@+id/txtContent" android:layout_height="fill_parent" android:layout_width="fill_parent" android:text="TestContent"> 
</EditText> 
</ScrollView> 

有誰知道如何重塑上面的內容,這樣的EditText上填滿父控件並且如果用戶的輸入超過控制大小的滾動顯示?

謝謝!

編輯:

下面是佈局的截圖

去除死ImageShack的鏈接
去除死ImageShack的鏈接

回答

95

你的EditText應該有wrap_content的高度。 fill_parentScrollView中沒有意義。如果您希望EditText在內容小於ScrollView時填寫您的ScrollView,請在ScrollView上使用android:fillViewport="true"

+0

的孩子,但用'ScrollView'有'機器人:fillViewport = 「真正的」'我創造一個奇怪的麻煩。在片段中有一個滾動視圖,其中有一個表格佈局,在運行時動態創建表格行。之後,如果廣告橫幅被加載,我做的是可見的,所以由於在片段大小轉移我的子錶行被消失。這不會發生,如果我將fillViewPort設置爲false! – 2014-12-17 10:10:38

9

是的,正如Romain所說,scrollview需要以下組合。

  1. 了滾動android:fillViewport="true"
  2. 了滾動android:layout_height="wrap_content"
+1

是的。當我將它設置爲fill_parent時,出現了奇怪的行爲。 – 2012-04-16 01:12:13

+0

我做了同樣的事,但後來我無法滾動?你能幫我解決問題嗎? – 2013-05-29 12:15:41