- android - RelativeLayout 背景可绘制重叠内容
- android - 如何链接 cpufeatures lib 以获取 native android 库?
- java - OnItemClickListener 不起作用,但 OnLongItemClickListener 在自定义 ListView 中起作用
- java - Android 文件转字符串
我在 Recyclerview
的 CardView
中有一个溢出按钮。每当我单击按钮时,我都会显示一个弹出菜单,而且 RecyclerView
会向下滚动一个项目。谁能帮我阻止这种不需要的滚动?
基本上,我正在尝试复制与 Playstore 中相同的溢出按钮行为。
布局:
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:layout_margin="5dp">
<android.support.v7.widget.CardView
android:id="@+id/cv_tracks"
android:layout_width="match_parent"
android:layout_height="65dp"
>
<RelativeLayout
android:layout_width="match_parent"
android:layout_height="60dp">
<ImageView
android:id="@+id/ivTracks"
android:layout_width="60dp"
android:layout_height="60dp"
android:background="@drawable/unknown"
/>
<Button
android:id="@+id/imgbtn_overflow"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:background="@android:color/transparent"
android:drawableTop="@drawable/ic_overflow"
android:paddingLeft="25dp"
android:paddingRight="20dp"
android:layout_alignParentTop="true"
android:layout_centerHorizontal="true" />
</RelativeLayout>
</android.support.v7.widget.CardView>
</RelativeLayout>
适配器:
@Override
public void onBindViewHolder(final TracksViewHolder tracksViewHolder, int i) {
tracksViewHolder.imgBtnOverflow.setTag(i);
tracksViewHolder.imgBtnOverflow.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
//Creating the instance of PopupMenu
final int position = (Integer) v.getTag();
PopupMenu popup = new PopupMenu(mContext,tracksViewHolder.imgBtnOverflow);
//Inflating the Popup using xml file
popup.getMenuInflater()
.inflate(R.menu.popup_menu_overflow, popup.getMenu());
//registering popup with OnMenuItemClickListener
popup.setOnMenuItemClickListener(new PopupMenu.OnMenuItemClickListener() {
public boolean onMenuItemClick(MenuItem item) {
if(mPopUpClick!=null)
mPopUpClick.actionOnPopUpItemClick(position,item,songs.get(position));
return true;
}
});
popup.show(); //showing popup menu
}
});
}
更新:明白了。当弹出菜单显示时,它向下滑动列表以显示整个下拉菜单。如何根据可用空间调整弹出窗口以向上/向下显示?
最佳答案
尝试使用 android.widget.PopupMenu 而不是 android.support.v7.widget.PopupMenu 和瞧,它有效。那么它是支持库中的错误吗?伟大的开发人员可以证实这一点吗?
关于android - PopupMenu 单击导致 RecyclerView 滚动,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29473977/
我希望在 XPage 中有一个右键单击弹出菜单。因此,我使用扩展库在 XPages 中创建了一个弹出菜单。无论我尝试什么,菜单都不显示。我必须将它绑定(bind)到一个按钮吗?如果是,怎么办?? 最佳
我希望在 XPage 中有一个右键单击弹出菜单。因此,我使用扩展库在 XPages 中创建了一个弹出菜单。无论我尝试什么,菜单都不显示。我必须将它绑定(bind)到一个按钮吗?如果是,怎么办?? 最佳
我创建了一个 ListView有一个 PopupMenu在每个项目中。我创建了一个 menu layout并将其用作我的PopupMenu .我的问题是每次单击 ListView 项目中的省略号选项时
我正在制作一个应用程序,我希望在 java 弹出菜单(如下所示)中为启动时运行的选项添加一个复选框。 弹出菜单如下:/image/JLZQE.jpg 如何将“启动时运行”选项设为复选框。 最佳答案 看
我在不断重新绘制的框架上使用 AWT PopupMenu(这是一个游戏),但每当 PopupMenu 显示时,父框架就会卡住。有办法禁用这个吗? 最佳答案 我假设应用程序的其余部分是用 Swing 制
我正在尝试寻找如何将项目添加到 devExpress PopupMenu。我尝试了以下方法: manager = new BarManager(); listBoxMe
我有一个 XML 菜单: 我想向 orders_filter_messages_group 添加一些项目,所以我这样做了
我已经创建了更改弹出菜单背景颜色的样式,现在我还需要知道如何更改菜单项文本颜色。下面是我使用的样式 @style/PopupMenu @color/popup_menu_bg_c
我想在 android 中自定义 popupmenu,默认的弹出菜单提供了更多空间,所以我试图更改弹出菜单中的自定义布局,但我不知道该怎么做。 注意:我想做这个小的弹出式设计,所以我使用默认的弹出式菜
我有一个 listView,其中每个项目都有一个按钮,可以打开带有选项的 PopupMenu。 大多数时候,这些菜单在错误的位置打开(有时它们在正确的位置打开),这些随机打开甚至不一致。 在菜单中选择
我有一个 PopupMenu,用户可以在其中切换启用或不启用哪些项目。 但是,每次用户按下一个按钮时,菜单就会消失。 是否有解决此问题的方法? 应要求,这是我目前正在使用的代码: final P
根据 How to style PopupMenu?你不能直接设置弹出菜单样式,这似乎与https://developer.android.com/reference/android/widget/P
在 Android API 23 中,我有一个带有子菜单项的弹出菜单。我把重力定义到最后,如图 popupMenu = new PopupMenu(this, v, Gravity.END); pop
我有一个 MaterialApp与 TextField s,它们有默认的弹出菜单(带有“剪切”、“复制”和“粘贴”项)。 我的问题是:他们的文字颜色总是白色 - 所以这些项目都是不可见的,因为我的背景
NSStatusItem.popUpMenu 已在 macOS 10.14 中弃用,但我找不到一个不错的替代方案。 let m = statusItem.menu! statusItem.popUpM
我有一个 VCL 控件,但我没有该控件的源,该控件没有 PopupMenu 属性和关联的事件。我怎样才能添加这个? 该控件(根据文档)继承自 TCustomControl,而 TCustomContr
我有一个带有子菜单的弹出菜单,一次只能检查一项。据我尝试,GroupIndex 和 RadioItem 属性在各自的子菜单之外不起作用。 我找到了this piece of code检查 PopupM
当选择未设置 PupupMenu 属性的 TDBEdit 控件并单击鼠标右键时,Delphi 5(是的,我知道它很旧)和 Delphi 10.1 之间的行为似乎有所变化。在 Delphi 5 TDBE
有没有办法在 PopupMenu 中渲染像 JPanel 一样的图形(使用 TrayIcon)?我知道使用 JPopupMenu 是可能的,但我不喜欢如果我单击弹出窗口外部,弹出窗口不会关闭(并且图标
现在我正在尝试使用 Android 3.0 (API 11) ECLIPSE 做另一个弹出式项目。但我有错误。无法实例化类型 PopupMenu.OnMenuItemClickListener Mai
我是一名优秀的程序员,十分优秀!