如何让此列在垂直方向上均匀填充屏幕。或者换一种方式我有5个按钮,我希望它们在这个垂直列中均匀垂直间隔。请参阅我的图片,了解我想要实现的目标。
我到目前为止左列的XML是这样的,但按钮组合在一起,我可以将组移动到顶部中间或底部,但我真正想要的是它们只是垂直间隔均匀,因此它们显示正确地在多个设备上:
<GridLayout
android:id="@+id/m1_btn_container"
android:layout_width="wrap_content"
android:layout_height="match_parent"
android:layout_gravity="fill_vertical"
android:layout_marginLeft="15dp"
android:orientation="vertical"
android:paddingBottom="10dp"
android:paddingTop="10dp" >
<ImageButton
android:id="@+id/m1_btn"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:background="@null"
android:src="@drawable/pause" />
<ImageButton
android:id="@+id/m2_btn"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:background="@null"
android:src="@drawable/pause" />
<ImageButton
android:id="@+id/m3_btn"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:background="@null"
android:src="@drawable/pause" />
<ImageButton
android:id="@+id/m4_btn"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:background="@null"
android:src="@drawable/pause" />
<ImageButton
android:id="@+id/m5_btn"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:background="@null"
android:src="@drawable/pause" />
</GridLayout>
我也尝试使用LinearLayout,但无法实现我的目标。我上面的XML给了我这个:
有人可以帮忙吗?
答案 0 :(得分:1)
正如您在问题中所提到的,有几种方法可以实现设计。我已经向您展示了一种可以通过TableLayout
实现的方法。在android:weightSum
内使用android:layout_weight
和LinearLayout
有助于实现相同目标。
同样可以通过GridLayout
实现。只是尝试使用不同的View
,这样可以按照您的要求进行部署。
通过TableLayout
实现:
<?xml version="1.0" encoding="UTF-8"?>
<LinearLayout
android:layout_width="fill_parent"
android:layout_height="fill_parent"
xmlns:android="http://schemas.android.com/apk/res/android">
<TableLayout
android:layout_height="fill_parent"
android:layout_width="wrap_content"
android:weightSum="5"
>
<TableRow
android:layout_height="fill_parent"
android:layout_width="fill_parent"
android:layout_weight="1"
>
<Button
android:layout_height="fill_parent"
android:layout_width="fill_parent"
android:text="Button1"
/>
</TableRow>
<TableRow
android:layout_height="fill_parent"
android:layout_width="fill_parent"
android:layout_weight="1"
>
<Button
android:layout_height="fill_parent"
android:layout_width="fill_parent"
android:text="Button1"
/>
</TableRow>
<TableRow
android:layout_height="fill_parent"
android:layout_width="fill_parent"
android:layout_weight="1"
>
<Button
android:layout_height="fill_parent"
android:layout_width="fill_parent"
android:text="Button1"
/>
</TableRow>
<TableRow
android:layout_height="fill_parent"
android:layout_width="fill_parent"
android:layout_weight="1"
>
<Button
android:layout_height="fill_parent"
android:layout_width="fill_parent"
android:text="Button1"
/>
</TableRow>
<TableRow
android:layout_height="fill_parent"
android:layout_width="fill_parent"
android:layout_weight="1"
>
<Button
android:layout_height="fill_parent"
android:layout_width="fill_parent"
android:text="Button1"
/>
</TableRow>
</TableLayout>
<Button
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:text="MediaPlayer" />
</LinearLayout>