我有Activity
Image
和2x2按钮栏(TableLayout
)。我希望它是这样的:
带有按钮的TableLayout
将填充图像留下的所有空间。我希望所有按钮具有相同的尺寸(高度和宽度)。现在我正在使用这段代码:
<ImageView
android:id="@+id/myImage"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_centerHorizontal="true"
android:layout_marginBottom="30dp" />
<TableLayout
android:id="@+id/buttonBar"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:layout_alignParentBottom="true"
android:layout_below="@+id/myImage"
android:stretchColumns="*" >
<TableRow
android:id="@+id/tr1"
android:layout_width="match_parent"
android:layout_height="0dip"
android:layout_weight="1" >
<Button
android:id="@+id/button1"
android:layout_width="0dip"
android:layout_height="match_parent"
android:onClick="Clicked" />
<Button
android:id="@+id/button2"
android:layout_width="0dip"
android:layout_height="match_parent"
android:onClick="Clicked" />
</TableRow>
<TableRow
android:id="@+id/tr2"
android:layout_width="match_parent"
android:layout_height="0dip"
android:layout_weight="1" >
<Button
android:id="@+id/button3"
android:layout_width="0dip"
android:layout_height="match_parent"
android:onClick="Clicked" />
<Button
android:id="@+id/button4"
android:layout_width="0dip"
android:layout_height="match_parent"
android:onClick="Clicked" />
</TableRow>
</TableLayout>
如果Buttons
具有相同的内容,但如果第一个Button有1行文本而最后一个有2行,则第二行的高度高于第一行,这是有效的。我该如何解决?
我尝试在所有按钮中添加android:layout_weight =“1”,但它仍无效。
谢谢!
答案 0 :(得分:0)
添加
每个android:layout_weight="0.5"
中的Button
属性。
答案 1 :(得分:0)
我必须从代码中解决它:
buttonBar = (TableLayout) findViewById(R.id.buttonBar);
button1 = (Button) findViewById(R.id.button1);
button2 = (Button) findViewById(R.id.button2);
button3 = (Button) findViewById(R.id.button3);
button4 = (Button) findViewById(R.id.button4);
button1.post(new Runnable(){
@Override
public void run() {
int height = buttonBar.getHeight();
button1.setHeight(height/2);
button2.setHeight(height/2);
button3.setHeight(height/2);
button4.setHeight(height/2);
}
});