14

我使用以下 XML 布局在我的应用程序中实现了“滑动抽屉”:(我从 androidpeople.com 获得了这个示例)

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

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

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

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


   <Button android:id="@+id/Button01" android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="Content"></Button>
   <Button android:id="@+id/Button02" android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="Content"></Button>
   <Button android:id="@+id/Button03" android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="Content"></Button>

  </LinearLayout>

 </SlidingDrawer>
</LinearLayout>

但我想要的是从左到右(水平)滑动抽屉而不是从右到左,我如何让滑动抽屉从左到右方向滑动?

请与我分享您的想法/观点/意见/问题,让我摆脱这个问题。

4

5 回答 5

7

这是一个关于此的教程:链接

滑动抽屉好像没有定位,找不到sdk提供的布局属性。但就像在上面的教程中一样,您可以编写自己的滑动抽屉小部件并应用布局属性来定位滑块/面板。


您可以结帐https://github.com/umano/AndroidSlidingUpPanel

于 2010-09-25T09:21:54.127 回答
6

您可以将其用于从左到右的抽屉..

<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:orientation="horizontal"

android:layout_width="fill_parent"
android:layout_height="fill_parent"
>
<TextView 
android:layout_width="50dip"
android:layout_height="50dip"
android:text="@string/hello"
/>
<SlidingDrawer
 android:id="@+id/drawer"
 android:layout_width="fill_parent"
 android:layout_height="wrap_content"
 android:orientation="horizontal"
 android:handle="@+id/handle"     
 android:content="@+id/content">


<ImageView
 android:id="@id/handle"
 android:layout_width="50dip"
 android:layout_height="50dip"  
 android:src="@drawable/icon"
/>

<LinearLayout
 android:id="@id/content"
 android:layout_width="fill_parent"
 android:layout_height="fill_parent"
 android:orientation="vertical">
<Button
 android:layout_width="fill_parent"
 android:layout_height="fill_parent"
 android:text="Big Big Button"/>
</LinearLayout>

</SlidingDrawer>
</LinearLayout>
于 2012-03-19T11:01:09.893 回答
5

最好和最简单的解决方案是向 SlidingDrawer 添加一行代码,android:rotation = "180"有关更多信息,请参阅此链接

于 2012-07-11T08:51:33.263 回答
4

最好的答案是使用 sephiroth 基于原始 SlidingDrawer 编写的组件:http: //blog.sephiroth.it/2011/03/29/widget-slidingdrawer-top-to-bottom/

于 2012-04-16T20:44:16.760 回答
2

我使用了 Girish R 的答案并旋转了它.... 像魅力一样工作此外,我使用了框架布局以确保它正确打开....

<FrameLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:orientation="horizontal"

    android:layout_width="fill_parent"
    android:layout_height="fill_parent"
    >
    <SlidingDrawer
        android:id="@+id/drawer"
        android:layout_width="fill_parent"
        android:layout_height="wrap_content"
        android:orientation="horizontal"
        android:handle="@+id/handle"
        android:rotation="180"
        android:content="@+id/content">


        <ImageView
            android:id="@id/handle"
            android:layout_width="50dip"
            android:layout_height="50dip"
            android:src="@drawable/ic_launcher"
            android:rotation="180"
            />

        <LinearLayout
            android:id="@id/content"
            android:layout_width="fill_parent"
            android:layout_height="fill_parent"
            android:orientation="vertical"
            android:rotation="180">
            <Button
                android:layout_width="fill_parent"
                android:layout_height="fill_parent"
                android:text="Big Big Button"/>
        </LinearLayout>
    </SlidingDrawer>
    <TextView
        android:layout_width="50dip"
        android:layout_height="50dip"
        android:text="HELLO WORLD"
        />

</FrameLayout>

SlidingDrawer 从左到右

于 2015-01-16T08:58:19.947 回答