0

我怎样才能让这个列在垂直方向上均匀地填充屏幕。或者换一种说法,我有 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 给了我这个:

布局1

任何人都可以帮忙吗?

4

1 回答 1

1

正如您在问题中提出的那样,有几种方法可以实现设计。我向您展示了一种可以通过TableLayout. 使用android:weightSumandroid: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>
于 2013-09-02T19:59:56.230 回答