【发布时间】:2021-03-10 01:39:28
【问题描述】:
我有一个 recyclerview,我想在其中单击一下即可打开某些项目的上下文菜单。我通过调用openContextMenu()来做到这一点
viewHolder.itemView.setOnClickListener(v -> activity.openContextMenu(viewHolder.itemView));
我在bind 方法中使用setOnCreateContextMenuListener 为上下文菜单注册视图。
长按版本似乎可以正确应用Theme.MaterialComponents 主题。使用View.showContextMenu() 产生与Activity.openContextMenu() 相同的结果。甚至View.performLongClick() 也是如此。主题正在以某种方式应用,因为当我将 android:itemBackground 等元素添加到主题时,它适用于菜单的两个版本。我还没有想出解释或修复,但如果/当我这样做时会在这里发布。
【问题讨论】:
-
你是如何应用材料设计的,你是否覆盖了styles.xml上的android:listViewStyle?
-
我将其应用于清单中的活动。我没有覆盖
android:listViewStyle。 -
它们本身风格相同,短按或长按默认材质设计不变,material.io/components/lists
-
理想情况下是这样。但是,这不是我正在经历的行为。
标签: android material-components-android android-contextmenu