以下のXMLレイアウトを使用して、アプリケーションに「SlidingDrawer」を実装しました:(この例は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>
しかし、私が欲しいのは、この右から左ではなく、左から右(水平)に引き出しをスライドさせることです。スライド引き出しを左から右の方向にスライドさせるにはどうすればよいですか?
あなたのアイデア/見解/意見/問題を私と共有し、この問題から私を捕まえてください。
これに関するチュートリアルは次のとおりです。 link
スライドドロワーの配置がないようです。SDKによって提供されるレイアウト属性が見つかりません。ただし、上記のチュートリアルのように、独自のスライドドロワーウィジェットを作成し、レイアウト属性を適用してスライダー/パネルを配置することができます。
チェックアウトできます https://github.com/umano/AndroidSlidingUpPanel
これは左から右の引き出しに使用できます。
<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>
最善かつ簡単な解決策は、SlidingDrawerに1行のコードを追加することです。Android:rotation = "180"
詳細については、 このリンク を参照してください。
最良の答えは、sephirothが元のSlidingDrawerに基づいて作成したこのコンポーネントを使用することです: http://blog.sephiroth.it/2011/03/29/widget-slidingdrawer-top-to-bottom/
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>