在android中,在recyclerView中准确显示按钮所在位置的弹出窗口
我正在用android中的recyclerView制作一个gridLayout。我对每个网格项都有一个选项,我想在其中显示我的弹出式活动,这是另一个类。请看图片- 每个项目都有一个菜单选项。我的弹出式活动java名称是CustomPop.Class。我使用recyclerView来显示GridView,它的holder方法如下在android中,在recyclerView中准确显示按钮所在位置的弹出窗口,android,android-recyclerview,android-popupwindow,Android,Android Recyclerview,Android Popupwindow,我正在用android中的recyclerView制作一个gridLayout。我对每个网格项都有一个选项,我想在其中显示我的弹出式活动,这是另一个类。请看图片- 每个项目都有一个菜单选项。我的弹出式活动java名称是CustomPop.Class。我使用recyclerView来显示GridView,它的holder方法如下 public void onBindViewHolder(ViewHolder holder, int position) { holder.img_c
public void onBindViewHolder(ViewHolder holder, int position) {
holder.img_chatroom_menu.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
Intent intent = new Intent(view.getContext(), ChatroomPopup.class);
view.getContext().startActivity(intent);
}
});
}
通过这个,我可以显示弹出式活动。但问题是它出现在活动的中间,但我希望它在菜单选项旁边打开。 你必须使用弹出式菜单来实现你想要的,正如下面的: 创建一个菜单用户
res>menu>your_menu.xml
<menu xmlns:android="http://schemas.android.com/apk/res/android">
<item
android:id="@+id/menu_item_one"
android:title="Item One" />
<item
android:id="@+id/menu_item_two"
android:title="Item Two" />
</menu>
<style name="popupMenuStyle" parent="Theme.AppCompat.Light.DarkActionBar">
<item name="android:textColor">@color/colorBlack</item>
<item name="android:itemBackground">@color/colorWhite</item>
<!--<item name="android:popupBackground">@android:color/white</item>-->
</style>
在各自的RecyclerView适配器中
holder.myAlbumsOptionButton.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
Context wrapper = new ContextThemeWrapper(context, R.style.popupMenuStyle);
final PopupMenu popup = new PopupMenu(wrapper, v, Gravity.END);
popup.inflate(R.menu.your_menu);
popup.show();
popup.setOnMenuItemClickListener(new PopupMenu.OnMenuItemClickListener() {
@Override
public boolean onMenuItemClick(MenuItem item) {
switch (item.getItemId()) {
case R.id.menu_item_one:
//Do operation if menu_item_one
break;
case R.id.menu_item_two:
//Do operation if menu_item_two
break;
}
return false;
}
});
}
});
要了解更多有关的信息,您必须使用弹出式菜单来实现所需功能,如下所示: 创建一个菜单用户
res>menu>your_menu.xml
<menu xmlns:android="http://schemas.android.com/apk/res/android">
<item
android:id="@+id/menu_item_one"
android:title="Item One" />
<item
android:id="@+id/menu_item_two"
android:title="Item Two" />
</menu>
<style name="popupMenuStyle" parent="Theme.AppCompat.Light.DarkActionBar">
<item name="android:textColor">@color/colorBlack</item>
<item name="android:itemBackground">@color/colorWhite</item>
<!--<item name="android:popupBackground">@android:color/white</item>-->
</style>
在各自的RecyclerView适配器中
holder.myAlbumsOptionButton.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
Context wrapper = new ContextThemeWrapper(context, R.style.popupMenuStyle);
final PopupMenu popup = new PopupMenu(wrapper, v, Gravity.END);
popup.inflate(R.menu.your_menu);
popup.show();
popup.setOnMenuItemClickListener(new PopupMenu.OnMenuItemClickListener() {
@Override
public boolean onMenuItemClick(MenuItem item) {
switch (item.getItemId()) {
case R.id.menu_item_one:
//Do operation if menu_item_one
break;
case R.id.menu_item_two:
//Do operation if menu_item_two
break;
}
return false;
}
});
}
});
要了解有关的更多信息,您可以使用
Android弹出菜单显示锚文本下方的菜单(如果锚文本上方有可用空间)。如果在弹出菜单外单击,它将消失
尝试创建菜单文件
文件:poupup_menu.xml
<menu xmlns:androclass="http://schemas.android.com/apk/res/android" >
<item
android:id="@+id/one"
android:title="One"/>
<item
android:id="@+id/two"
android:title="Two"/>
<item
android:id="@+id/three"
android:title="Three"/>
</menu>
以下是示例演示链接,您可以使用
Android弹出菜单显示锚文本下方的菜单(如果锚文本上方有可用空间)。如果在弹出菜单外单击,它将消失
尝试创建菜单文件
文件:poupup_menu.xml
<menu xmlns:androclass="http://schemas.android.com/apk/res/android" >
<item
android:id="@+id/one"
android:title="One"/>
<item
android:id="@+id/two"
android:title="Two"/>
<item
android:id="@+id/three"
android:title="Three"/>
</menu>
以下是示例演示链接使用弹出菜单或弹出菜单写什么?使用弹出菜单或弹出菜单写什么?但如何调整此弹出窗口的大小或自定义?@TanvirDurlove您可以更改菜单以实现一些自定义,如显示图标,但如何调整此弹出窗口的大小或自定义?@TanvirDurlove您可以更改菜单来实现一些定制,比如显示图标那么我可以从这里定制弹出菜单吗?@TanvirDurlove customize menas你能解释更多吗?因为如果我的列表很长,它看起来有点像一个很高的列表。你想在弹出菜单中显示什么?我只想自己手动设置它的高/宽,然后做一个背景。那么我可以从这里自定义弹出菜单吗?@TanvirDurlove customize menas你能解释更多吗?因为如果我的列表很长,它看起来有点像一个很高的列表。你想在弹出菜单中显示什么?我只想自己手动设置它的高度/宽度,然后做一个背景。