2012-07-10 56 views
0

我使用以下佈局:安卓:FrameLayout裏擠出查看

enter image description here

的FrameLayout充滿整個視口,即寬度和高度都設置爲MATCH_PARENT

寬度和RelativeLayout的高度設置爲WRAP_CONTENT

視圖1到視圖5的固定尺寸例如width = 500,height = 50

查看5個位於FrameLayout邊界附近的位置,並被Android, 擠壓,以便它完全位於FrameLayout內。 View5的高度應該是50,但不幸的是,Android會將其更改爲更小的值。

我該如何避免Android改變View5的高度?

當我滾動RelativeLayout時,錯誤仍然存​​在。

類似的行爲被描述如下: button is squeezed when it exceeds layout

+0

我不知道爲什麼你使用的FrameLayout。 RelativeLayout就足夠了。關於你的問題 - 嘗試使用android:minHeight = 50dp和android:maxHeight = 50dp。 – ania 2012-07-10 10:50:16

+0

我正在使用兩種佈局,因爲我想在FrameLayout中滾動RelativeLayout。 FrameLayout只能有一個孩子。你的建議對我來說不清楚,方法setMaximumHeight()不存在。 – 2012-07-10 12:11:04

+0

minHeight是xml參數。您可以在代碼中使用setMinimumHeight。 maxHeight也存在,但在例如。 TextView取決於你使用的是哪種視圖,它也可以幫助(如果有的話)。嘗試只有minHeight mabye它會有所幫助。 – ania 2012-07-10 15:04:55

回答

0

A 「更好」 的辦法處理這一問題是使用ScrollView

<ScrollView 
    android:layout_width="match_parent" 
    android:layout_height="match_parent"> 
    <RelativeLayout 
     android:layout_width="match_parent" 
     android:layout_height="wrap_content" > 
     <View 
      android:id="@+id/view1" 
      android:layout_width="match_parent" 
      android:layout_height="50dp" 
      android:layout_alignParentTop="true" /> 
     <View 
      android:id="@+id/view2" 
      android:layout_width="match_parent" 
      android:layout_height="50dp" 
      android:layout_below="@+id/view1" /> 
     <View 
      android:id="@+id/view3" 
      android:layout_width="match_parent" 
      android:layout_height="50dp" 
      android:layout_below="@+id/view2" /> 
<!-- YOU GET THE IDEA --> 

    </RelativeLayout> 
</ScrollView>