2012-02-09 63 views
3

我有以下「按鈕欄」佈局設置:結合layout_weight和maxHeight?

<LinearLayout 
    android:layout_width="fill_parent" 
    android:layout_height="fill_parent" 
    android:orientation="vertical"> 
    <RelativeLayout 
    android:id="@+id/button_bar" 
    android:layout_width="fill_parent" 
    android:layout_height="0dp" 
    android:layout_weight="0.1" 
    android:maxHeight="86px" 
    android:orientation="horizontal"> 
    <Button 
     android:id="@+id/home_button" 
     android:layout_width="wrap_content" 
     android:layout_height="fill_parent" 
     android:layout_alignParentLeft="true"/> 
    <Button 
     android:id="@+id/level_button" 
     android:layout_width="wrap_content" 
     android:layout_height="fill_parent" 
     android:layout_toRightOf="@+id/home_button"/> 
    <Button 
     android:id="@+id/help_button" 
     android:layout_width="wrap_content" 
     android:layout_height="fill_parent" 
     android:layout_toRightOf="@+id/level_button"/> 
    <Button 
     android:id="@+id/sound_button" 
     android:layout_width="wrap_content" 
     android:layout_height="fill_parent" 
     android:layout_alignParentRight="true"/> 
    </RelativeLayout> 
    <View 
    android:layout_width="fill_parent" 
    android:layout_height="0dp" 
    android:layout_weight="0.9"/> 
</LinearLayout> 

我希望按鈕欄(RelativeLayout的)高度爲屏幕高度的10%,所以就用layout_weight =「0.1」 + layout_weight = 「0.9」,但不超過86個像素,所以我嘗試使用maxHeight =「86px」,但這不起作用。

您是否有任何線索如何實現10%的高度以及恆定的最大高度佈局限制?

+2

不幸的是,'RelativeLayout'的API不包含'maxHeight'屬性('View'或'ViewGroup')。這就是爲什麼它在你的代碼中不受尊重,我想。 – Flo 2013-02-28 14:36:52

回答

1

這是相當容易的,也許是最簡潔的解決方案,子類LinearLayout並創建您自己的佈局計算。

剛剛覆蓋onLayout()onMeasure()

+0

謝謝,這對我來說現在已經足夠回答了,但將此問題視爲完全回答,在此處添加一些代碼會很好。我可能很快就會這樣做...... – Blackhex 2013-12-14 19:33:22