- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我的问题如下:我想创建一个滑动抽屉,其中处理程序(滑动用于打开/关闭的 View )是一个组合 View ,其方式如下图所示:
期望的行为是:
这种实现的主要问题是监听器发生冲突,因为按钮“+”是处理程序的一部分并且无法创建重写的监听器 onclick。作为第一种方法,我正在考虑以编程方式完成所有这些,但我真的想知道是否有另一种简单的方法来完成这种布局。
有没有人有提示,或者知道只用 xml 实现这个的方法?提前致谢!
最佳答案
您可以使用 LinearLayout 作为 SlidingDrawer 容器的句柄或内容元素的容器。喜欢以下内容:
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:orientation="vertical">
<SlidingDrawer android:id="@+id/drawer"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:onClick="showPopUp"
android:handle="@+id/handle"
android:content="@+id/content">
<LinearLayout android:id="@id/content"
android:layout_width="match_parent"
android:layout_height="match_parent">
<!-- here goes your content -->
</LinearLayout>
<LinearLayout android:id="@id/handle"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:background="#ffff5600"
android:orientation="horizontal">
<TextView android:layout_width="0dp"
android:layout_height="match_parent"
android:layout_weight="4"
android:layout_gravity="left"
android:text="musicas" />
<Button android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_weight="1"
android:onClick="showPopUp"
android:text="+" />
</LinearLayout>
</SlidingDrawer>
</LinearLayout>
它允许您像上面的屏幕截图一样进行布局,但它不允许捕获按钮按下事件。为此,我进行了一些研究,并建议覆盖 MultiDirectionSlidingDrawer(来源 http://blog.sephiroth.it/2011/03/29/widget-slidingdrawer-top-to-bottom/)。我是这样做的:在 onInterceptTouchEvent() 方法中,我在 final View handle = mHandle;
boolean handleTouch = false;
if (mHandle instanceof ViewGroup) {
ViewGroup group = (ViewGroup) mHandle;
int count = group.getChildCount();
for (int i = 0; i < count; i++) {
View v = group.getChildAt(i);
v.getHitRect(frame);
if (frame.contains((int) x, (int) y)) {
handleTouch = v.onTouchEvent(event);
if (handleTouch) {
return false;
}
}
}
}
现在它分别处理来自按钮和抽屉本身的事件。
关于android - Android SlidingDrawer 中的组合处理程序,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11005970/
我的应用程序需要一个滑动抽屉。它应该放在页面的底部。它必须包含一组图像,我必须为滑动抽屉设置背景颜色。我看到了一些示例代码......但我不清楚如何去做。谁能帮忙吗? 最佳答案 我使用 Horizo
我正在尝试实现一个抽屉导航,除了切换按钮不可见之外,一切都运行良好。 这是我的代码: mDrawerToggle = new ActionBarDrawerToggle(this, mDrawerLa
我想使用我自己的图像作为处理程序的图像。 如何将默认处理程序图像更改为其他图像?谢谢,埃亚尔。 最佳答案 您可以使用 ImageView 和 src 指向您的图像作为句柄: .
是否可以在抽屉关闭时显示 handle 并在抽屉打开时隐藏它? 我已经尝试覆盖 SlidingDrawer 但到目前为止没有成功。 最佳答案 按照对我有用的技巧隐藏 handle 按钮 关于
我正在尝试使用 SlidingDrawer ViewGroup,但遇到了一些障碍。我们可以将一些监听器附加到 SlidingDrawer: OnDrawerScrollListener OnDrawe
我想使用 SlidingDrawer在一项 Activity 中,我很乐意只使用内置的托盘 handle ,而不是尝试寻找或创建自己的托盘 handle 。我 found it online感谢 Co
是否可以放置 SlidingDrawer,使 handle 正好位于屏幕底部下方? 我要实现的功能是用户按下按钮(未连接到抽屉)以将抽屉从屏幕下方向上滑动。从那里,用户可以使用 handle 将其向下
当我尝试在水平方向上使用 SlidingDrawer 时,我在处理程序和内容之间得到了一个空间。知道如何摆脱它吗?在垂直方向上我没有空格。 最佳答案 在您的 ImageView
我目前在使用 SlidingDrawer 时遇到问题。我希望它在应用程序启动时关闭,这样它就不会妨碍。但是,尽管将 slide.close() 放在我 Activity 的 onCreate() 中,
我是 Android 编程和堆栈溢出的新手,我需要降低应用中 SlidingDrawer 的动画速度。 我已经像这样子类化了 SlidingDrawer: import android.content
我正在处理我的应用程序的一部分,我想知道是否可以让滑动抽屉部分打开而不是完全关闭,这样用户可以在单击显示更多按钮之前查看文本内容的峰值,这将能够显示其余文本。 提前致谢。 最佳答案 我有一个类似的问题
我尝试用 animateOpen() 和 animateClose() 打开/关闭我的滑动抽屉,但它似乎是瞬间打开和关闭的,就像 open() 和 close()。怎么了? 我已经看到 Sliding
您好,我遇到了运行时异常: SlidingDrawer cannot have UNSPECIFIED dimensions 从下面的 XML 中,可以提供任何帮助。
我看了很多地方,但找不到关于如何为我的应用程序制作 SlidingDrawer 的像样的教程。 假设我已经有一个 XML 文件,我想向其中添加一个滑动抽屉...我还想添加一个 TextView 和 L
如何使用未附加的按钮打开 SlidingDrawer?换句话说,我喜欢不带 handle 打开它。 最佳答案 在 SlidingDrawer 上调用 open()。 关于android - 通过按钮打
我刚刚注意到,从 API 17 开始,SlidingDrawer它已被弃用。 评论说: This class was deprecated in API level 17. This class is
有没有办法让抽屉从上往下滑动? 最佳答案 我找到了一个简单的方法来做到这一点。您所要做的就是为slidingDrawer、内容和 handle 设置180º的旋转。举个例子更容易理解,看看我做了什么:
SlidingDrawer隐藏屏外的内容,并允许用户通过handle以显示隐藏内容。它可以垂直或水平滑动,它有俩个View组成,其一是可以拖动的handle,其二是隐藏内容的View.它里面的控件必
我如何将 SlidingDrawer 作为系统覆盖层(或始终将其显示在顶部)?我将使用服务来显示它,但我不知道该怎么做(使用服务将 SlidingDrawer 显示为系统覆盖)我怎样才能像 this
我的问题如下:我想创建一个滑动抽屉,其中处理程序(滑动用于打开/关闭的 View )是一个组合 View ,其方式如下图所示: 期望的行为是: 当用户点击处理程序时,抽屉打开(按钮跟随 View ,因
我是一名优秀的程序员,十分优秀!