Articles of popupmenu

PopupMenu在RecyclerView中没有正确定位

我正在做一个Android应用程序加载数据到一个ImageView里面的RecyclerView作为溢出button。 当用户点击它时,会popup一个PopupMenu选项。 我已经设法显示它,但是这个位置看起来不正确。 请看截图。 只有前两项看起来不错。 这里是源代码: view.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { final PopupMenu popupMenu = new PopupMenu(context, view); final Menu menu = popupMenu.getMenu(); popupMenu.getMenuInflater().inflate(R.menu.menu_item_action, menu); popupMenu.setOnMenuItemClickListener(onMenuItemClickListener); switch (Global.listMode) { case Global.LIST_STYLE_NORMAL: { menu.findItem(R.id.action_delete).setVisible(false); break; } case Global.LIST_STYLE_FAVORITE: { menu.findItem(R.id.action_add_to_favorite).setVisible(false); break; } case Global.LIST_STYLE_WATCH_LIST: { menu.findItem(R.id.action_add_to_watch_list).setVisible(false); break; } case Global.LIST_STYLE_DOWNLOAD: { menu.findItem(R.id.action_download).setVisible(false); […]

如何改变android中的popup菜单的文本颜色和大小?

popup式菜单中的文本颜色即使在样式中更改也不会更改。 背景颜色相对于styles.xml中的颜色而改变,但是文本颜色和文本大小不反映。 //Creating the instance of PopupMenu PopupMenu popup = new PopupMenu(mContext, holder.im_overflow); //Inflating the Popup using xml file popup.getMenuInflater().inflate(R.menu.list_overflow_menu, popup.getMenu()); //registering popup with OnMenuItemClickListener popup.setOnMenuItemClickListener(new PopupMenu.OnMenuItemClickListener() { @Override public boolean onMenuItemClick(MenuItem item) { if( item.getTitle().equals("Edit")){ callEdit(); } else if( item.getTitle().equals("Export")) { callShare(); } else if( item.getTitle().equals("Delete")) { callDelete(); } return true; } }); popup.show(); […]

Android ListView中的popup菜单问题

我是Android新手,我正在创buildListviewpopup式菜单。 但是我有它的width和height问题。 popup菜单可以占用更多的高度和宽度。 所以有很多问题,但是这些都没有帮助我。 创buildpopup菜单我已经尝试了以下方法 。 1]用下面的代码使用popup式菜单 : private void showPopupMenu(View view){ Context wrapper = new ContextThemeWrapper(this, R.style.PopupMenu); PopupMenu popupMenu = new PopupMenu(wrapper,view); popupMenu.getMenuInflater().inflate(R.menu.popup_menu,popupMenu.getMenu()); popupMenu.show(); popupMenu.setOnMenuItemClickListener(new PopupMenu.OnMenuItemClickListener(){ @Override public boolean onMenuItemClick(MenuItem item){ switch (item.getItemId()){ case R.id.install: Intent intent = new Intent(ViewAllRelationActivity.this,EditRelativeActivity.class); startActivity(intent); break; case R.id.addtowishlist: break; } return false; } }); } 它给出了这个输出 : 2]使用ContextMenu会显示以下输出 […]

如何将popup菜单代码replace为列表popupwindow?

目前,我正在编程创build一个popupmenu显示一个楼层和标题的列表。 但是,改变标题的背景颜色,并添加一个closuresbutton标题,结果是一场噩梦。 我想用一个列表popup窗口replace这个popupmenu,所以我可以添加一个带有背景属性的XML文件,用黑色作为背景的标题,菜单中项目的右侧和白色背景上的closuresbutton。 有一种方法,我可以实现这个列表popup窗口? 这是我的代码: private void floorMenu(ImageView btnFloorMenu){ MapData data = new MapDao(MyPlugin.mapId); final List<Floor> flList = dao.getFloors(); // set popupMenu final PopupMenu floorsPm = new PopupMenu(MapViewActivity.this,btnFloorMenu); MenuItem titleItem = floorsPm.getMenu().add(Menu.NONE, Menu.NONE, Menu.NONE, "Floors"); int i = 1; for(Floor fl : flList) { floorsPm.getMenu().add(Menu.NONE, i,i, fl.getName()); if(i>3) break; i++; } // add popup listener […]

PopupMenu PopupWindow $ PopupViewContainer泄漏

我有一个PopupMenu锚定到操作栏中的button,我得到关于泄漏窗口的日志输出。 如果我的活动在PopupMenu打开时停止,就会发生这种情况。 我在这里发布了一个相关的问题,但是我已经解决了这个问题。 我已经看到类似的问题,但是没有任何与PopupMenu相关的问题。 我在想,如果我能得到提到的PopupWindow$PopupViewContainer的句柄,那么我可以在onPause或类似的东西,从WindowManager中删除它,但我不知道如何得到它。 PopupMenu公开的接口非常有限。 有没有人遇到过这个问题? 有没有人修复它或解决它? 任何人都知道如何获得PopupMenu的View或Window ? 这是我如何创build菜单: // in Activity @Override public boolean onCreateOptionsMenu(Menu menu) { super.onCreateOptionsMenu(menu); final MenuInflater inflater = getMenuInflater(); inflater.inflate(R.menu.main_menu, menu); MenuItem login = menu.findItem(R.id.menu_login); final Button button = (Button) login.getActionView().findViewById(R.id.login); button.setOnClickListener(new View.OnClickListener() { public void onClick(View item) { if (profileMenu == null) { // I've tried passing […]

如何防止popup菜单closurescheckbox单击

我在网上search了很多,但没有关于阻止popup菜单closures。 每当我点击checkbox项目或任何其他popup菜单项,popup式菜单消除自己。 如何防止在用户选中/取消选中popup式菜单中的checkbox时将其解除。 我在操作栏菜单项的单击事件上显示popup式菜单。 //main_menu.xml <menu xmlns:android="http://schemas.android.com/apk/res/android" xmlns:app="http://schemas.android.com/apk/res-auto" xmlns:tools="http://schemas.android.com/tools" tools:context="com.worldofjobs.woj.MainActivity" > <item android:id="@+id/action_popUpMenu" android:icon="@drawable/ic_action_overflow" android:title="@string/main_action_popUpMenu" app:showAsAction="always"/> </menu> //popup_items.xml <?xml version="1.0" encoding="utf-8"?> <menu xmlns:android="http://schemas.android.com/apk/res/android" > <item android:id="@+id/refresh_item" android:title="@string/main_refresh"/> <item android:id="@+id/checkbox_item" android:checkable="true" android:title="Start notification"/> <item android:id="@+id/changePasswrod_item" android:title="@string/main_changePassword"/> <item android:id="@+id/deleteAccount_item" android:title="@string/main_deleteAccount"/> <item android:id="@+id/logout_item" android:title="@string/main_logout"/> </menu> /** * Shows popup menu on click of action bar-menu inflates from * […]

如何强制PopupMenu重叠锚?

如何强制PopupMenu重叠锚? 我想重新创build类似这样的东西:

Android的popupmenu位置

我正在尝试使一个Android应用程序点击一个button引发一个popupmenu 。 popupmenu正在生成,但不在正确的位置。 代码如下: menu.xml文件 <?xml version="1.0" encoding="utf-8"?> <menu xmlns:android="http://schemas.android.com/apk/res/android"> <group android:checkableBehavior="single"> <item android:id="@+id/genderMale" android:title="Male" /> <item android:id="@+id/genderFemale" android:title="Female" /> </group> </menu> 执行popup窗口的function如下: public void showGenderPopup(View v) { PopupMenu popup = new PopupMenu(this, v); MenuInflater inflater = popup.getMenuInflater(); inflater.inflate(R.menu.gender_popup, popup.getMenu()); popup.show(); } 这里popupmenu正在创build下面的textview当我点击它。 我希望它在屏幕的中心生成。 如何去呢?

从popup菜单中隐藏项目

我创build了一个popup菜单。 我需要从条件popup菜单隐藏一个特定的项目,我试着下面的代码,但它不工作,并显示“意外地你的应用程序已经停止” 。 我用findViewById和setEnabled(false) 。 有没有其他的方法来隐藏popup菜单中的项目? 请帮忙。 @Override public boolean onOptionsItemSelected(MenuItem item) { // TODO Auto-generated method stub switch(item.getItemId()){ case R.id.addMessage_Action: AddMessage(); break; case R.id.dropMenuAction: menuItemView = findViewById(R.id.dropMenuAction); PopupMenu popup = new PopupMenu(this, menuItemView); MenuInflater inflater = popup.getMenuInflater(); inflater.inflate(R.menu.popupmenu_for_message_delete, popup.getMenu()); popup.show(); popup.setOnMenuItemClickListener(this); if(Global.lock == true) findViewById(R.id.lock_message).setEnabled(false); else findViewById(R.id.unlock_message).setEnabled(false); break; } return false; }

在android的卡片视图内有三个点的小部件的名称是什么?

什么是三点的小部件? 我如何将它添加到我的应用程序?