安卓:是否可以拥有多个滑动抽屉?

4

我对安卓的许多东西都还不太熟悉,以下是其中之一。

我正在尝试使用Android SlidingDrawer小部件。
我想在屏幕右侧放置4个小部件。
每个小部件拉出来后填满整个屏幕。

我在R.layout.main中创建了4个小部件,但只有一个显示出来了。

我这样做错了吗?

这里有一个XML文件,其中包含两个SlidingDrawer
我想让它们都显示在右侧

<LinearLayout android:id="@+id/LinearLayout01"
              android:layout_width="fill_parent" 
              android:layout_height="wrap_content"
              xmlns:android="http://schemas.android.com/apk/res/android"
              >

 <SlidingDrawer android:id="@+id/SlidingDrawer2" 
        android:layout_width="wrap_content" 
        android:handle="@+id/slideHandleButton2" 
        android:content="@+id/contentLayout2" 
        android:layout_weight="1"
        android:layout_height="wrap_content" 
        android:orientation="horizontal">

        <Button android:id="@+id/slideHandleButton2"
            android:layout_width="wrap_content" 
            android:layout_height="wrap_content" 
            android:topOffset="10dip"
            android:background="@drawable/icon">
        </Button>

        <RelativeLayout 
            android:layout_width="wrap_content" 
            android:id="@+id/contentLayout2" 
            android:orientation="horizontal" 
            android:gravity="center|top" 
            android:padding="10dip" 
            android:background="#C0C0C0" 
            android:layout_height="wrap_content">

       <ImageView android:id="@+id/f" 
            android:layout_width="wrap_content" 
            android:layout_height="wrap_content" 
            android:text="Content"
            android:src="@drawable/arrow_top_right">>
        </ImageView>

    </RelativeLayout>
 </SlidingDrawer>


 <SlidingDrawer android:id="@+id/SlidingDrawer" 
        android:layout_width="wrap_content" 
        android:handle="@+id/slideHandleButton" 
        android:content="@+id/contentLayout" 
        android:orientation="horizontal"
        android:layout_weight="1"
        android:layout_height="wrap_content" 
        >

        <Button android:id="@+id/slideHandleButton"
            android:layout_width="wrap_content" 
            android:layout_height="wrap_content" 
            android:background="@drawable/icon"
            android:topOffset="40dip">
        </Button>

        <RelativeLayout 
            android:layout_width="wrap_content" 
            android:id="@+id/contentLayout" 
            android:orientation="horizontal" 
            android:padding="10dip" 
            android:background="#C0C0C0" 
            android:layout_height="wrap_content">

         <ImageView android:id="@+id/Button03" 
            android:layout_width="wrap_content" 
            android:layout_height="wrap_content" 
            android:text="Content"
            android:src="@drawable/arrow_top_right">
        </ImageView>
    </RelativeLayout>
 </SlidingDrawer>
</LinearLayout>

你可以发一下你的布局文件吗?这样更容易理解你的问题。 - Srichand Yella
2
我喜欢这个想法。然而,我不确定你用这种方式能取得多少成功。如果你无法让SlidingDrawers正常工作,可以考虑手动放置一些看起来像选项卡的图像在屏幕右侧,并使用ViewFlipper和push_left_in动画使它们滑入。这是我的意见。 - Glendon Trullinger
@Glendon Trullinger 谢谢,很有趣。我会尝试 ViewFlipper 方法。 - Erik
1个回答

4

我认为这不仅仅是一个显示。我认为两个都会叠在一起显示。尝试偏移手柄,以便您能够看到两个手柄。尝试为您的滑动抽屉添加此属性,并使用不同的偏移量:

android:topOffset="10dip"

如果那样不起作用,请尝试将此内容添加到两个滑动抽屉中:
android:layout_weight="1"
android:layout_height="0"

我把topOffset放在slideHandleButton里面,但没有变化。android:layout_weight="1"有所作为。现在我看到屏幕中央有一个处理程序,另一个在右侧中央。有点有趣。 - Erik
但它正在工作,只需要调整4个处理程序的XML,谢谢@Srichand。 - Erik
我认为我可以在onCreate中计算屏幕的宽高,以获取所有SlidingDrawer的y位置。你觉得呢? - Erik
当您将重量设置为1,高度设置为0时,它会自动在所有滑动抽屉之间平均共享屏幕,因此不需要额外设置。 - Srichand Yella
当我将android:layout_height="0px"放置时,SD卡不再可见。 - Erik
我更新了我的问题,附上了当前的XML。它显示了两个处理程序,一个位于中心中间,另一个位于中心右侧。 - Erik

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接