我已经在不同的帖子中查看了很多次,但没有一个为我解决了这个问题。我的 XML 定义的菜单项总是出现在溢出中,并且出现了两次。这是 XML 文件:
<menu xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto">
<item
android:id="@+id/add_Playlist"
android:icon="@android:drawable/ic_menu_add"
app:showAsAction="ifRoom|withText"
android:title="@string/addPlaylist" />
</menu>
我正在 Activity 文件中的工具栏顶部扩展菜单:
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
setActionBar((android.widget.Toolbar) findViewById(R.id.toolbar));
}
@Override
public boolean onCreateOptionsMenu(Menu menu) {
// Inflate the menu items for use in the action bar
MenuInflater inflater = getMenuInflater();
inflater.inflate(R.menu.menu_main, menu);
return super.onCreateOptionsMenu(menu);
}
然而菜单项却出现在溢出中。在 Android Studio 的渲染 View 中,菜单看起来是正确的。
如果你想让我附上一张快照,我会的。我正在使用 API 23(目前)的模拟器上运行该应用程序。我不知道是否应该包含任何其他文件,但请告诉我您是否需要它们。提前致谢!
[编辑] 这是工具栏的屏幕截图: https://gyazo.com/2743b74a8aee07035b8398f1b41002c4
这是我的 styles.xml:
<resources
xmlns="http://schemas.android.com/apk/res-auto">
<color name="card_title_text">#111111</color>
<color name="card_desc_text">#aaaaaa</color>
<color name="action_bar_text">#ffffff</color>
<!-- Base application theme. -->
<style name="AppTheme" parent="@style/Theme.AppCompat.NoActionBar">
<!-- Customize your theme here. -->
<item name="colorPrimary">@color/colorPrimary</item>
<item name="colorPrimaryDark">@color/colorPrimaryDark</item>
<item name="colorAccent">@color/colorAccent</item>
<item name="actionMenuTextColor">@color/action_bar_text</item>
<item name="android:navigationBarColor">@color/black</item>
<item name="android:colorForeground">@color/foreground_material_light</item>
<item name="android:colorBackground">@color/background_material_light</item>
<item name="android:statusBarColor">@color/statusBarColor</item>
<item name="android:windowBackground">@color/windowBackground</item>
</style>
<style name="AppTheme.NoActionBar">
<item name="windowActionBar">false</item>
<item name="windowNoTitle">true</item>
<item name="actionMenuTextColor">@color/action_bar_text</item>
</style>
<style name="AppTheme.AppBarOverlay" parent="ThemeOverlay.AppCompat.Dark.ActionBar" />
<style name="AppTheme.PopupOverlay" parent="ThemeOverlay.AppCompat.Light" />
</resources>
我还尝试设置 app:showAsAction="always"
但它不起作用。没有明显的变化。
最佳答案
我不确定我完全理解 - 你的意思是你想看到工具栏中的图标而不是 @string/addPlaylist
中的文字
如果是这样,您需要更改菜单项中的以下行:
app:showAsAction="always"
关于java - Android:菜单项总是显示在溢出中,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33309454/