如何在PopupMenu的下拉菜单中显示图标

问题描述

我想在我创建的popupMenu的下拉菜单添加一些图标。请帮我。我非常烦恼如何创建popupMenu以便在单击时显示带有图标的下拉菜单项。我尝试了很多无效的方法。我尝试将 showAsAction 设置为always | withtext,但是没有用。 请帮我。任何帮助将不胜感激!

下面是Java

"https://graph.microsoft.com/v1.0/sites/<siteid>/drive/root:/<filePath>:/children"

这是菜单XML

showMenuButton = findViewById(R.id.btn_long_press);


        //Init popup menu
        final PopupMenu popupMenu = new PopupMenu(
                this,//the context
                showMenuButton //UI view where to click to show the popup menu
        );

        //add menu xml to our popup menu
        popupMenu.getMenuInflater().inflate(R.menu.pop_menu,popupMenu.getMenu());

        //handle popup menu item clicks
        popupMenu.setonMenuItemClickListener(new PopupMenu.OnMenuItemClickListener() {
            @Override
            public boolean onMenuItemClick(MenuItem menuItem) {
                //get id of menu item clicked
                int id = menuItem.getItemId();
                //handle clicks
                if (id==R.id.settings_menu){
                    //settings selected
                    Toast.makeText(MainActivity.this,"Settings Selected",Toast.LENGTH_SHORT).show();
                    startActivity(new Intent(MainActivity.this,Main2Activity.class));
                    getTitleColor();
                    return true;
                }
                else if (id==R.id.manual_menu){
                    //Manual selected
                    Toast.makeText(MainActivity.this,"User Manual Selected",Main3Activity.class));
                    return true;
                }
                else if (id==R.id.about_menu){
                    //about selected
                    Toast.makeText(MainActivity.this,"About Selected",Main4Activity.class));
                    return true;
                }

                return false;
            }
        });


        //handle button click to show menu
        showMenuButton.setonClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View view) {
                popupMenu.show();

            }
        });

This is how i want it to look like

解决方法

我从研究中发现,显示带有菜单项图标的下拉弹出菜单需要深入的过程。而且过程不干净。 但是,我已经找到了解决方案。创建子菜单似乎是获得我们想要的唯一方法。而且,我鼓励任何寻求创建菜单图标的人都遵循我现在建立的这种方式,同时我们等待google的进一步改进。

.Where(h => !h.Device.DeviceStatusHistory.Any(st =>
    st.Status == 0 && st.TimeStamp > h.DeviceTimeStamp));

相关问答

Selenium Web驱动程序和Java。元素在(x,y)点处不可单击。其...
Python-如何使用点“。” 访问字典成员?
Java 字符串是不可变的。到底是什么意思?
Java中的“ final”关键字如何工作?(我仍然可以修改对象。...
“loop:”在Java代码中。这是什么,为什么要编译?
java.lang.ClassNotFoundException:sun.jdbc.odbc.JdbcOdbc...