Android工具栏菜单项永远不会显示,但会进入溢出状态

时间:2017-09-20 16:10:23

标签: android kotlin

我正在尝试实现Android在v21中提供的工具栏,菜单中的菜单项设置为显示" ifroom",但菜单项总是折叠到溢出。如果菜单项设置为显示"始终"它们也会折叠成溢出。

我希望有人可以指出需要改变什么以使其行为正确。我想找到一个使用appcompat来实现它的解决方案,正如我可以看到其他大多数解决方案所做的那样。

下面我附上了我的工具栏布局,菜单布局以及它在模拟器中的外观,以及创建工具栏的主要kotlin文件。

来自模拟器的屏幕截图

enter image description here

toolbar_main.xml

ExitThread

menu_main.xml

<?xml version="1.0" encoding="utf-8"?>
<android.support.constraint.ConstraintLayout 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"
android:layout_width="match_parent"
android:layout_height="match_parent">

<android.widget.Toolbar
    android:id="@+id/my_toolbar"
    android:layout_width="match_parent"
    android:layout_height="?android:attr/actionBarSize"
    app:layout_constraintTop_toTopOf="parent"
    app:layout_constraintLeft_toLeftOf="parent"
    android:elevation="4dp"
    android:theme="@style/ToolbarTheme"
    android:popupTheme="@android:style/ThemeOverlay.Material.Light"
    tools:layout_editor_absoluteY="0dp"
    tools:layout_editor_absoluteX="0dp" />

</android.support.constraint.ConstraintLayout>    

mainActivity.kt

<?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/miCompose"
        android:icon="@drawable/ic_mail_outline_black_24dp"
        android:title="@string/menu_compose"
        android:orderInCategory="2"
        app:showAsAction="ifRoom" />
    <item
        android:id="@+id/miProfile"
        android:icon="@drawable/ic_perm_identity_black_24dp"
        android:title="@string/menu_profile"
        android:orderInCategory="1"
        app:showAsAction="ifRoom"/>

</menu>

1 个答案:

答案 0 :(得分:3)

您使用的是所有Android API,而不是支持库 因此,请尝试使用android代替app

android:showAsAction="ifRoom"