【问题标题】:Android actionLayout not showing with ToolbarAndroid actionLayout 不显示工具栏
【发布时间】:2016-02-21 11:14:47
【问题描述】:

我正在尝试将自定义布局显示为选项菜单中的一个项目。 这就是我到目前为止所做的事情

<item
    android:id="@+id/action_profile"
    android:orderInCategory="100"
    android:title="Profile"
    android:actionLayout="@layout/layout_menu_profile"
    app:showAsAction="never" />

我试过了

    app:actionLayout="@layout/layout_menu_profile"

以及每个 this SO 链接,但它仍然只显示标题 - 个人资料

我通过 Android Studio 1.5 使用空白 Activity 创建了新项目。 minSDK = 15 和 targetSDK = 23

以下是空白活动中的代码。

@Override
 public boolean onCreateOptionsMenu(Menu menu) {

    getMenuInflater().inflate(R.menu.menu_home, menu);

    MenuItem item = menu.findItem(R.id.action_profile);


    return true;
}

我哪里错了?

【问题讨论】:

标签: android menu android-toolbar android-optionsmenu


【解决方案1】:

使用app:actionLayout 而不是android:actionLayout

<item
   ...
   app:actionLayout="@layout/layout_menu_profile"  
   app:showAsAction="always" />

【讨论】:

  • 你救了我几个小时的奋斗
  • 自定义菜单项仅在我设置app:showAsAction="ifRoom"时可见
  • 一整天...一整天!我欠你的,也只有你,我今晚才能睡得着……
【解决方案2】:

试试这个代码

<item
android:id="@+id/action_profile"
android:orderInCategory="100"
android:title="Profile"
android:actionLayout="@layout/layout_menu_profile"
app:showAsAction="always" />

只需将 showAsAction 元素设置为 always

【讨论】:

  • 我只是这样做了它不起作用,但是当我添加 app:actionLayout 而不是 android:actionLayout 它正在工作
  • 这行得通,但如果我不想一直显示它怎么办?
  • 你可以用“ifRoom”代替“always”
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2018-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多