0

ハンドラがボタン/テキストであるスライディング ドロワーを実装しようとしています。その背後にある主な理由は、スペースを節約することです。私が達成したいのは、ドロワーが元のビューの上にコンテンツを開くことです。しかし、実際には、ドロワーは元のビューで相対的なスペース (ボタン + コンテンツ) を使用します。

下の写真でもっと丁寧に説明してくれることを願っています。そのため、ハンドラーとしてドロワーにスピーカーのアイコンがあります。20dp程度のスペースだけを取りたいと思います。スピーカーをクリックすると、ドロワーのコンテンツが下にデータをオーバーレイします。スピーカーをもう一度クリックすると、引き出しが閉じます。とりあえず、このケースをエミュレートすると、ドロワーは青い四角で示された領域でのみ開閉します。 ここに画像の説明を入力

4

1 に答える 1

3

スクリーンショットから判断すると、スライド ドロワーは LinearLayout 内にあります。

したがって、あなたが探していることはできません。(LinearLayout の項目は直線的にリストされるため、オーバーレイされません)

ここのドキュメント: http://developer.android.com/reference/android/widget/SlidingDrawer.htmlは、相対またはフレームレイアウトでのみスライドドロワーを使用する必要があると述べています (これらはオーバーレイを許可するため):

SlidingDrawer は、レイアウト内のオーバーレイとして使用する必要があります。これは、たとえば、SlidingDrawer を FrameLayout または RelativeLayout 内でのみ使用する必要があることを意味します。

次の構造をお勧めします。

Relative Layout
-Sliding Drawer (id: slidingDrawer, aligned to parent top)
-Linear Layout (id: contentLyout, aligned as below id:slidingDrawer)
--TextView (id: deviceTitle)
--ScrollView (id: contentScroll)
---LinearLayout (I can't see the rest of your layout)
于 2012-08-24T16:38:00.083 に答える