前言
最近项目中有个功能实现筛选功能
想到了用PopupMenu
效果是实现了 但是有点不理想
PopupMenu
就是弹框的位置 太靠左边
使用
使用比较简单几行代码搞定
PopupMenu popupMenu = new PopupMenu(this, tvIDScreen);
//menu 布局
popupMenu.getMenuInflater().inflate(R.menu.screen_order, popupMenu.getMenu());
//显示菜单
popupMenu.show();
在res
资源目录下 创建menu
文件夹
然后创建screen xml文件 内容如下
<?xml version="1.0" encoding="utf-8"?>
<menu xmlns:android="http://schemas.android.com/apk/res/android">
<item
android:id="@+id/item_1"
android:title="@string/contain_ID" />
<item
android:id="@+id/item_2"
android:title="@string/not_contain_ID" />
</menu>
设置
PopupMenu
在指定位置弹出
PopupMenu 默认gravity为Gravity.START 靠左对齐 这个效果不理想
所以换一个排列方式
可以使用setGravity()方法来指定弹出窗口与anchor视图的对齐方式,
例如修改对齐方式为Gravity.CENTER 居中
例如修改对齐方式为Gravity.END 靠右对齐
PopupMenu popupMenu = new PopupMenu(this, tvIDScreen);
//menu 布局
popupMenu.getMenuInflater().inflate(R.menu.screen_order, popupMenu.getMenu());
//设置靠右对齐
popupMenu.setGravity(Gravity.END);
//显示菜单
popupMenu.show();