-1

这是我进行 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>

第一行按钮按预期显示,但我没有看到第二行?只是空旷的地方。

任何帮助表示赞赏

4

2 回答 2

2

您已经将两个 LinearLayouts 都放在了 RelativeLayout 中,而没有给布局任何提示它应该如何放置其元素。因此,默认情况下,两个 LinearLayout 将在 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(>= API 级别 14)。您还可以尝试减少视图树并仅使用一个 RelativeLayout 并使用 layout_below, layout_leftOf, ... 将元素放置在布局内。

于 2012-09-14T13:32:51.030 回答
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>
于 2012-09-14T13:36:53.430 回答