gpt4 book ai didi

Android 支持操作栏不显示溢出菜单

转载 作者:塔克拉玛干 更新时间:2023-11-02 20:22:15 26 4
gpt4 key购买 nike

我的 android 应用程序支持 2.2 及更高版本。我正在为操作栏使用 appcompat 支持库,所以它应该只在有不合适的东西时显示。我希望我的操作栏支持溢出按钮(三个垂直方 block ),该按钮在单击时会显示包含其他项目的菜单。

在我的菜单文件中,我设置了三个项目。但是在应用程序上我只看到其中两个,并且溢出按钮也没有显示。

activity_menu.xml

<menu xmlns:android="http://schemas.android.com/apk/res/android" 
xmlns:sord.ids_connect="http://schemas.android.com/apk/res-auto">

<item
android:id="@+id/action_settings"
android:icon="@drawable/checkbox"
android:title="@string/action_settings"
sord.ids_connect:showAsAction="ifRoom" />

<item
android:id="@+id/action_settings2"
android:icon="@drawable/checkbox_checked"
android:title="@string/action_settings"
sord.ids_connect:showAsAction="ifRoom" />

<item
android:id="@+id/action_settings3"
android:icon="@drawable/ic_launcher"
android:title="@string/action_settings"
sord.ids_connect:showAsAction="ifRoom" />

</menu>

java文件

import android.os.Bundle;
import android.view.Menu;
import android.view.MenuItem;
import android.support.v7.app.ActionBar;
import android.support.v7.app.ActionBarActivity;

public class Activity_Menu extends ActionBarActivity {

@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_menu);

ActionBar actionBar = getSupportActionBar();
actionBar.setDisplayHomeAsUpEnabled(true);
}

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

@Override
public boolean onOptionsItemSelected(MenuItem item) {
switch (item.getItemId()) {
case android.R.id.home:
super.onBackPressed();
return true;
}
return super.onOptionsItemSelected(item);
}
}

list

    <activity
android:theme="@style/Theme.AppCompat.Light.DarkActionBar"
android:name="sord.ids_connect.Activity_Menu"
android:screenOrientation="portrait"
android:label="@string/title_activity_menu" >
</activity>

最佳答案

一般引用

1 - 覆盖 onCreateOption 并展开菜单

注意

返回 true 或调用 super 都无所谓

@Override

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

2 - 将命名空间添加到 menu.xml 文件。

xmlns:**yourapp**="http://schemas.android.com/apk/res-auto"

3 - 将 showAsAction 设置为alwaysifRoom

**yourapp**:showAsAction="ifRoom"

4 - 如果您使用的是 appcompat,请确保您的 Activity 扩展 ActionBarActivity ,您无需更改 ActionBar 的任何值即可在栏中看到您的 menuOption。

最后你会得到类似[记住为你的应用使用一个合适的命名空间]

main.xml

<item
android:id="@+id/action_settings"
android:icon="@drawable/ic_action_settings"
android:title="@string/action_settings"
yourapp:showAsAction="ifRoom" />

关于你的 Activity

@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 super.onCreateOptionsMenu(menu);
}

关于Android 支持操作栏不显示溢出菜单,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20713806/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com