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 回答