在SlidingDrawer中布置2行3个按钮

时间:2012-09-14 13:21:31

标签: android android-linearlayout relativelayout slidingdrawer

这是我开发Android的第五天所以要温柔!

我正在尝试将两行三个按钮放入我的SlidingDrawer,这是我到目前为止所得到的,但我无法理解为什么第二行按钮不可见?

<SlidingDrawer
    android:id="@+id/SlidingDrawer"
    android:layout_width="fill_parent"
    android:layout_height="200dip"
    android:content="@+id/drawerButtons"
    android:handle="@+id/slideHandleButton" >

    <Button
        android:id="@+id/slideHandleButton"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:background="@drawable/closearrow" />

    <RelativeLayout
        android:id="@+id/drawerButtons"
        android:layout_width="fill_parent"
        android:layout_height="fill_parent"
        android:background="#80000000" >

        <LinearLayout
            android:layout_width="fill_parent"
            android:layout_height="fill_parent"
            android:orientation="horizontal" >

            <Button
                android:id="@+id/Button01"
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:layout_weight="1"
                android:text="Test1" >
            </Button>

            <Button
                android:id="@+id/Button02"
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:layout_weight="1"
                android:text="Test2" >
            </Button>

            <Button
                android:id="@+id/Button03"
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:layout_weight="1"
                android:text="Test3" >
            </Button>
        </LinearLayout>

        <LinearLayout
            android:layout_width="fill_parent"
            android:layout_height="fill_parent"
            android:orientation="horizontal" >

            <Button
                android:id="@+id/Button04"
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:layout_weight="1"
                android:text="Test4" >
            </Button>

            <Button
                android:id="@+id/Button05"
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:layout_weight="1"
                android:text="Test5" >
            </Button>

            <Button
                android:id="@+id/Button06"
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:layout_weight="1"
                android:text="Test6" >
            </Button>
        </LinearLayout>
    </RelativeLayout>

</SlidingDrawer>

第一行按钮按预期显示但我看不到第二行?只是空的空间。

任何帮助表示赞赏

2 个答案:

答案 0 :(得分:2)

你已经在RelativeLayout中删除了两个LinearLayout,而没有给布局任何提示如何放置它的元素。因此,默认情况下,两个LinearLayouts将在RelativeLayout内的(0,0)处相互重叠。

一种解决方案是给顶部的LinearLayout一个id

android:id="@+id/topRow"

然后给LinearLayout一个提示,将其置于RelativeLayout

android:layout_below="@id/topRow"

除此之外,您还必须将LinearLayouts的layout_height设置为wrap_content。否则,第一个LinearLayout仍会填充整个RelativeLayout,而另一个则位于屏幕外的下方。

其他解决方案:将LinearLayouts包含在LinearLayout中,方向垂直或使用GridLayout(&gt; = API级别14)。您还可以尝试缩小视图树并仅使用一个RelativeLayout并使用layout_below,layout_leftOf,...将元素放置在布局中。

答案 1 :(得分:0)

try this below code : 

<LinearLayout
     android:layout_width="fill_parent"
     android:id="@+id/drawerButtons"
     android:orientation="vertical"
     <LinearLayout>
        // your buttons
     </LinearLayout>
     <LinearLayout>
        // your buttons
     </LinearLayout>
</LinearLayout>