正确的方法分为4个Android安排

时间:2012-09-23 19:42:20

标签: android listview layout row relativelayout

我想要实现的是,划分下图所示的行布局。我应该怎么做才能将行分成3个完全相同的大小和1个未知的大小? X是相同的大小,我不知道,不想指定它是否没有必要......

编辑:按钮位于左侧,中间和右侧。

5 个答案:

答案 0 :(得分:2)

LinearLayout内使用RelativeLayout。将3个项目放在LinearLayout中,并为它们提供相同的weight。在LinearLayout的帮助下将未知项目放在RelativeLayout的右侧。

左侧元素将根据右侧宽度对齐。 这是代码:https://gist.github.com/3772838

这里有两个不同大小的最右边元素的截图:

http://goo.gl/Nezmn

http://goo.gl/XbQwL

Kolay gelsin =)

答案 1 :(得分:1)

你的极左尺寸是否有最小宽度? 如果是这样,您应该使用水平方向的LinearLayout。 它可以包含2个LinearLayout,一个包含3个视图(你的按钮),宽度为0,每个重量为1,另一个LinearLayout设置了minimumWidth。 您可以为第一个布局指定宽度,而不是marginRight。

Ted Hopp说得对;)

答案 2 :(得分:1)

您可以使用android:layout_weight按比例分配额外空间。您希望三个左按钮吸收所有额外宽度,因此右(第四)按钮的默认权重应为0.因为您还希望它们具有相同的宽度,最简单的方法是为它们指定宽度为0dp和给他们所有相同的重量:

<LinearLayout
    android:layout_width="match_parent"
    android:layout_height="wrap_content"
    android:orientation="horizontal" >

    <Button
        android:layout_width="0dp"
        android:layout_height="wrap_content"
        android:layout_weight="1" />

    <Button
        android:layout_width="0dp"
        android:layout_height="wrap_content"
        android:layout_weight="1" />

    <Button
        android:layout_width="0dp"
        android:layout_height="wrap_content"
        android:layout_weight="1" />


    <Button
        android:layout_width="wrap_content"
        android:layout_height="wrap_content" />
</LinearLayout>

答案 3 :(得分:0)

<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:orientation="vertical" >

<RelativeLayout
    android:layout_width="fill_parent"
    android:layout_height="wrap_content" android:id="@+id/rlayoutParent">


    <RelativeLayout
        android:layout_width="wrap_content"
        android:id="@+id/rlayoutButtons" android:layout_height="wrap_content">

        <Button
            android:id="@+id/button1"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:text="Button" />

        <Button
            android:id="@+id/button2"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:text="Button" android:layout_toRightOf="@+id/button1"/>

        <Button
            android:id="@+id/button3"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:text="Button" android:layout_toRightOf="@+id/button2"/>

    </RelativeLayout>


    <RelativeLayout
        android:id="@+id/rlayoutOther"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_alignParentRight="true"
        android:layout_toRightOf="@+id/rlayoutButtons" android:gravity="right">


        <Button
            android:id="@+id/button4"
            android:layout_width="fill_parent"
            android:layout_height="wrap_content"
            android:text="Button" />

    </RelativeLayout>

</RelativeLayout>

答案 4 :(得分:-1)

你的cab使用layout_weight属性。给所有的x布局赋予相同的重量和问号不同的重量,直到屏幕像你一样偏离