菜单项没有显示在操作栏菜单项、操作

2023-09-12 01:49:49 作者:爱恨情仇不由我

我做了一个完全新的项目。我已经添加项目到菜单布局文件。这些内容不会在操作栏的右侧显示出来。我记得有三个点的图标显示它打开的菜单。

下面是我的活动

 公共类MainActivity延伸活动{

    @覆盖
    保护无效的onCreate(包savedInstanceState){
        super.onCreate(savedInstanceState);
        的setContentView(R.layout.activity_main);
        动作条动作条= getActionBar();
        actionBar.setBackgroundDrawable(新ColorDrawable(Color.BLUE));
        actionBar.show();
    }

    @覆盖
    公共布尔onCreateOptionsMenu(功能菜单){
        //充气菜单;这增加了项目操作栏,如果它是present。
        。getMenuInflater()膨胀(R.menu.main,菜单);
        返回true;
    }

}
 

和这里是我的的main.xml

 <菜单的xmlns:机器人=htt​​p://schemas.android.com/apk/res/android>

    <项目
        机器人:ID =@ + ID / action_settings
        机器人:orderInCategory =100
        机器人:showAsAction =从不
        机器人:标题=@字符串/ action_option1/>
    <项目
        机器人:ID =@ + ID / action_settings34
        机器人:orderInCategory =100
        机器人:showAsAction =从不
        机器人:标题=@字符串/ action_option2/>
    <项目
        机器人:ID =@ + ID / action_settings3
        机器人:orderInCategory =100
        机器人:showAsAction =从不
        机器人:标题=@字符串/ action_option3/>


< /菜单>
 
xp系统去除 无法显示菜单项 提示的操作方法

解决方案

由于设置了 showAsAction 属性从来没有,那么这些菜单项将不会显示为行动的看法。试试这个:

 <菜单的xmlns:机器人=htt​​p://schemas.android.com/apk/res/android>

    <项目
        机器人:ID =@ + ID / action_settings
        机器人:orderInCategory =100
        机器人:showAsAction =ifRoom | withText
        机器人:标题=@字符串/ action_option1/>
    <项目
        机器人:ID =@ + ID / action_settings34
        机器人:orderInCategory =100
        机器人:showAsAction =ifRoom | withText
        机器人:标题=@字符串/ action_option2/>
    <项目
        机器人:ID =@ + ID / action_settings3
        机器人:orderInCategory =100
        机器人:showAsAction =ifRoom | withText
        机器人:标题=@字符串/ action_option3/>

< /菜单>
 

I have made a completely new project. I have added items to the menu layout file. Those items do not show up on the action bar's right side. I remember that an icon with three dots shows up which opens up the menu.

Here is my Activity

public class MainActivity extends Activity {

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
        ActionBar actionBar = getActionBar();
        actionBar.setBackgroundDrawable(new ColorDrawable(Color.BLUE));     
        actionBar.show();
    }

    @Override
    public boolean onCreateOptionsMenu(Menu menu) {
        // Inflate the menu; this adds items to the action bar if it is present.
        getMenuInflater().inflate(R.menu.main, menu);
        return true;
    }

}

And here is my main.xml

<menu xmlns:android="http://schemas.android.com/apk/res/android" >

    <item
        android:id="@+id/action_settings"
        android:orderInCategory="100"
        android:showAsAction="never"
        android:title="@string/action_option1"/>
    <item
        android:id="@+id/action_settings34"
        android:orderInCategory="100"
        android:showAsAction="never"
        android:title="@string/action_option2"/>
    <item
        android:id="@+id/action_settings3"
        android:orderInCategory="100"
        android:showAsAction="never"
        android:title="@string/action_option3"/>


</menu>

解决方案

Since you set the showAsAction attribute to never, then these menu items will never show as action views. Try this:

<menu xmlns:android="http://schemas.android.com/apk/res/android" >

    <item
        android:id="@+id/action_settings"
        android:orderInCategory="100"
        android:showAsAction="ifRoom|withText"
        android:title="@string/action_option1"/>
    <item
        android:id="@+id/action_settings34"
        android:orderInCategory="100"
        android:showAsAction="ifRoom|withText"
        android:title="@string/action_option2"/>
    <item
        android:id="@+id/action_settings3"
        android:orderInCategory="100"
        android:showAsAction="ifRoom|withText"
        android:title="@string/action_option3"/>

</menu>