Android 上的 Instagram 强制触摸菜单
Instagram force touch menu on Android
Android 上的 Instagram 最近添加了新功能,当用户长按浏览部分的项目时,会显示一个弹出菜单并允许用户预览 photo/video 而不是查看其详细信息.
iOS 强制触摸功能真的很酷。
有谁知道我们如何在 Android 应用程序上做同样的事情?
我们可以只使用上下文菜单或覆盖 Window 来做到这一点吗?
谢谢
现在我可以使用这个库在 UI 上做同样的事情
https://github.com/tvbarthel/BlurDialogFragment
但问题是:
当我长按按钮时,我必须松开手指才能继续触摸对话框片段。触摸事件仍然发送到 activity 而不是 DialogFragment。
你知道如何在对话框片段显示后立即将触摸事件/焦点传递给它吗?
这是我在互联网上找到的最近的图书馆,
https://github.com/nantaphop/HoverTouchView
可能和IG的不完全一样,但肯定能表达意思
我发现了 3DTouch 以及 Instagrame。
此库位于 Jitpack.io,这意味着要使用它,您必须将以下内容添加到根 build.gradle 文件。
allprojects {
repositories {
...
maven { url "https://jitpack.io" }
}
}
然后您需要将以下依赖项添加到您的应用程序 build.gradle 文件中。
dependencies {
compile 'com.github.shalskar:PeekAndPop:v1.0.1'
}
用法:
基本用法很简单,只需提供一个 activity 实例、用于 peek 和 pop 的布局资源以及 1 个或多个在长按时显示 peek 和 pop 的视图。
PeekAndPop peekAndPop = new PeekAndPop.Builder(this)
.peekLayout(R.layout.peek_view)
.longClickViews(view)
.build();
您可以通过在 PeekAndPop 对象上调用 getPeekView() 来获取速览视图,并使用 findViewById() 来访问速览布局中的任何视图。
View peekView = peekAndPop.getPeekView();
ImageView imageView = peekView.findViewById(R.id.image_view);
TextView textView = peekView.findViewById(R.id.text_view);
通常您会希望在单击列表(或其他可滚动视图)中的项目时显示 peek 和 pop,为确保 peek 和 pop 正常工作,您必须添加这行代码:
.parentViewGroupToDisallowTouchEvents(viewGroup)
Android 上的 Instagram 最近添加了新功能,当用户长按浏览部分的项目时,会显示一个弹出菜单并允许用户预览 photo/video 而不是查看其详细信息. iOS 强制触摸功能真的很酷。 有谁知道我们如何在 Android 应用程序上做同样的事情? 我们可以只使用上下文菜单或覆盖 Window 来做到这一点吗? 谢谢
现在我可以使用这个库在 UI 上做同样的事情
https://github.com/tvbarthel/BlurDialogFragment
但问题是: 当我长按按钮时,我必须松开手指才能继续触摸对话框片段。触摸事件仍然发送到 activity 而不是 DialogFragment。
你知道如何在对话框片段显示后立即将触摸事件/焦点传递给它吗?
这是我在互联网上找到的最近的图书馆,
https://github.com/nantaphop/HoverTouchView
可能和IG的不完全一样,但肯定能表达意思
我发现了 3DTouch 以及 Instagrame。
此库位于 Jitpack.io,这意味着要使用它,您必须将以下内容添加到根 build.gradle 文件。
allprojects {
repositories {
...
maven { url "https://jitpack.io" }
}
}
然后您需要将以下依赖项添加到您的应用程序 build.gradle 文件中。
dependencies {
compile 'com.github.shalskar:PeekAndPop:v1.0.1'
}
用法:
基本用法很简单,只需提供一个 activity 实例、用于 peek 和 pop 的布局资源以及 1 个或多个在长按时显示 peek 和 pop 的视图。
PeekAndPop peekAndPop = new PeekAndPop.Builder(this)
.peekLayout(R.layout.peek_view)
.longClickViews(view)
.build();
您可以通过在 PeekAndPop 对象上调用 getPeekView() 来获取速览视图,并使用 findViewById() 来访问速览布局中的任何视图。
View peekView = peekAndPop.getPeekView();
ImageView imageView = peekView.findViewById(R.id.image_view);
TextView textView = peekView.findViewById(R.id.text_view);
通常您会希望在单击列表(或其他可滚动视图)中的项目时显示 peek 和 pop,为确保 peek 和 pop 正常工作,您必须添加这行代码:
.parentViewGroupToDisallowTouchEvents(viewGroup)