android – 如何在AppCompatActivity中显示图标和文本的菜单项

android – 如何在AppCompatActivity中显示图标和文本的菜单项,第1张

概述我在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: 我在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=".MainActivity">    <item        androID:ID="@+ID/action_create_alarm"        androID:icon="@drawable/ic_action_accept"        androID:orderIncategory="100"        androID:title="@string/menu_create_alarm"        app:showAsAction="ifRoom|withText" /></menu>

要么

<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=".MainActivity">    <item        androID:ID="@+ID/action_create_alarm"        androID:icon="@drawable/ic_action_accept"        androID:orderIncategory="100"        androID:title="@string/menu_create_alarm"        app:showAsAction="always|withText" /></menu>

要么

<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=".MainActivity">    <item        androID:ID="@+ID/action_create_alarm"        androID:icon="@drawable/ic_action_accept"        androID:orderIncategory="100"        androID:title="@string/menu_create_alarm"        app:showAsAction="withText" /></menu>

要么

<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=".MainActivity">    <item        androID:ID="@+ID/action_create_alarm"        androID:icon="@drawable/ic_action_accept"        androID:orderIncategory="100"        androID:title="@string/menu_create_alarm"        androID:showAsAction="always|withText" /></menu>

我试图用编程方式设置它

@OverrIDe    public voID onCreateOptionsMenu(Menu menu,MenuInflater inflater){        MenuItem item = menu.add(R.string.menu_create_alarm);        item.setShowAsAction(MenuItem.SHOW_AS_ACTION_WITH_TEXT|MenuItem.SHOW_AS_ACTION_IF_ROOM);        item.setIcon(R.drawable.ic_action_accept);        item.setonMenuItemClickListener(            new OnMenuItemClickListener(){                @OverrIDe                public boolean onMenuItemClick(MenuItem item){                    saveAlarm();                    return true;                }            }        );//      inflater.inflate(R.menu.menu_create_alarm,menu);        super.onCreateOptionsMenu(menu,inflater);    }

要么

<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=".MainActivity">    <item        androID:ID="@+ID/action_create_alarm"        androID:icon="@drawable/ic_action_accept"        androID:orderIncategory="100"        androID:title="@string/menu_create_alarm"        androID:showAsAction="always|withText"        app:showAsAction="always|withText" /></menu>

但是,仅显示图标.并且有植物的房间,因为我没有设置工具栏标题.删除菜单并用工具栏中的按钮来替换它们不是可切换的.
如何显示文字?

解决方法 你需要添加工具:context =“你的类”到菜单标签
<?xml version="1.0" enCoding="utf-8"?><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=".activitIEs.BaseActivity">   <item       androID:ID="@+ID/action_notification1"       androID:icon="@drawable/three"       androID:title="action_notification"       app:showAsAction="always">       <menu>           <item               androID:ID="@+ID/profile"               androID:icon="@drawable/profile"               androID:orderIncategory="100"               androID:title="PROfile" />           <item               androID:ID="@+ID/c"               androID:icon="@drawable/correct_tick"               androID:orderIncategory="100"               androID:title="COMPLETED TRIPS" />           <item               androID:ID="@+ID/app"               androID:icon="@drawable/report_issue"               androID:orderIncategory="100"               androID:title="REPORT ISSUES" />           <item               androID:ID="@+ID/r"               androID:icon="@drawable/correct_tick"               androID:orderIncategory="100"               androID:title="REACHED CENTER" />           <item               androID:ID="@+ID/pdf"               androID:icon="@drawable/pdf_image"               androID:orderIncategory="100"               androID:title="BAG INFO" />           <item               androID:ID="@+ID/l"               androID:icon="@drawable/logout"               androID:orderIncategory="100"               androID:title="logoUT" />       </menu>   </item></menu>     @OverrIDe          public boolean onCreateOptionsMenu(Menu menu) {         getMenuInflater().inflate(R.menu.main,menu);          menu.getItem(0).getSubMenu().getItem(3).setVisible(false);         menu.getItem(0).getSubMenu().getItem(4).setVisible(true);         return super.onCreateOptionsMenu(menu);         }

你写的工具:上下文到菜单标签,然后运行,你会得到你的文本图标

总结

以上是内存溢出为你收集整理的android – 如何在AppCompatActivity中显示图标和文本的菜单项全部内容,希望文章能够帮你解决android – 如何在AppCompatActivity中显示图标和文本的菜单项所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址:https://54852.com/web/1132323.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2022-05-30
下一篇2022-05-30

发表评论

登录后才能评论

评论列表(0条)

    保存