如何使滑动抽屉覆盖Android中的其他元素?

时间:2012-08-24 16:28:23

标签: android android-layout

我正在尝试实现一个滑动抽屉,其中处理程序是一个按钮/文本。 这背后的主要原因是节省空间。我希望实现的是抽屉将打开原始视图顶部的内容。但实际发生的是抽屉在我的原始视图中使用相对空格(按钮+内容)。

我希望下面的图片会更仔细地解释。所以我在抽屉里有一个扬声器图标作为处理程序。我希望它只占用20dp左右的空间。当我点击扬声器时,抽屉内容会覆盖下面的数据。再次单击扬声器时,抽屉将关闭。现在,如果我模仿这种情况,抽屉仅在蓝色矩形指示的区域中打开/关闭。 enter image description here

1 个答案:

答案 0 :(得分:3)

根据截图判断,您的滑动抽屉位于LinearLayout内。

因此它无法满足您的需求。 (因为LinearLayout中的项目将线性列出 - 因此不会叠加)

此处的文档:http://developer.android.com/reference/android/widget/SlidingDrawer.html表示您应该只在相对或框架布局中使用滑动抽屉(因为这些允许重叠):

  

SlidingDrawer应该用作布局内的叠加层。这意味着   SlidingDrawer只能在FrameLayout或a中使用   例如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)