首页 > 解决方案 > Android 菜单项以一种完全奇怪的方式出现

问题描述

我有一个菜单 xml。非常基本和简单:

<?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">

<item
    android:id="@+id/item_bookmark"
    android:icon="@drawable/ic_read"
    android:orderInCategory="0"
    android:title=""
    app:showAsAction="always" />
<item
    android:id="@+id/item_share"
    android:icon="@drawable/ic_collab"
    android:orderInCategory="1"
    android:title=""
    app:showAsAction="always" />

</menu>

然而它看起来像这样:

奇怪时尚的物品

第一项看起来很好。第二个及以后正在“修剪”或“切割”或其他任何东西。ifRoom, always,category等等,没有任何效果。它在预览本身中看起来像这样。我猜我已经启用了导致这种情况的样式中的一些设置。

从没想过我会被困在 Android 菜单中。有人可以在这里帮助我吗?

我的风格是这样的(如果有人想看的话)

 <style name="AppTheme" parent="Theme.MaterialComponents.Light.NoActionBar">
    <item name="colorPrimary">@color/colorPrimary</item>
    <item name="colorPrimaryDark">@color/black</item>
    <item name="colorAccent">@color/colorAccent</item>
    <item name="android:windowLightStatusBar">true</item>
    <item name="android:colorBackground">@color/white</item>
    <item name="android:windowBackground">@color/white</item>
    <item name="android:statusBarColor">@android:color/white</item>
    <item name="android:windowDrawsSystemBarBackgrounds">true</item>
    <!--<item name="android:statusBarColor">@color/zifycolorDarker</item>-->

    <item name="android:windowContentTransitions">true</item>
    <item name="android:windowActivityTransitions">true</item>
    <item name="android:orientation">vertical</item>
    <item name="android:navigationBarColor">@android:color/black</item>
    <item name="android:windowAnimationStyle">@style/AllActivityWindowAnimationStyle</item>
    <item name="android:windowDisablePreview">true</item>
    <item name="colorControlNormal">@color/black</item>
    <item name="colorControlActivated">@color/white</item>

</style>

标签: androidandroid-menu

解决方案


找到了答案!

所以我不小心使用了错误的属性来设置屏幕方向。有一个属性

<item name="android:orientation">vertical</item>

这会将所有内容设置为纵向,即使是需要水平的组件。删除了这个,一切正常。


推荐阅读