甚至垂直按钮间距Android

时间:2013-09-02 19:26:54

标签: android android-layout

如何让此列在垂直方向上均匀填充屏幕。或者换一种方式我有5个按钮,我希望它们在这个垂直列中均匀垂直间隔。请参阅我的图片,了解我想要实现的目标。

Layout

我到目前为止左列的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给了我这个:

Layout1

有人可以帮忙吗?

1 个答案:

答案 0 :(得分:1)

正如您在问题中所提到的,有几种方法可以实现设计。我已经向您展示了一种可以通过TableLayout实现的方法。在android:weightSum内使用android:layout_weightLinearLayout有助于实现相同目标。

同样可以通过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>