当前位置: 首页 > 面试题库 >

使用showAsAction =“ always”不能在ActionBar中显示的项目

廖令
2023-03-14
问题内容

我是Android编程的新手,目前正在尝试使Actionbar运行。我的问题是,尽管我将XML文件中的一项设置为“
always”,但是无论我尝试什么,该项都会不断出现在溢出菜单中。我在这里发现了几个类似的问题,但是没有一个解决方案可以解决该问题。

附加信息:ic_action_search图标位于项目的可绘制文件夹中。

main_activity_actions.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">

<!-- Search, always displayed -->
<item android:id="@+id/action_search"
      android:icon="@drawable/ic_action_search"
      android:title="@string/action_search"
      app:showAsAction="always" />


<!-- Settings, should always be in the overflow -->
<item android:id="@+id/action_settings"
      android:title="@string/action_settings"
      app:showAsAction="never" />
</menu>

strings.xml

<?xml version="1.0" encoding="utf-8"?>
<resources>

  <string name="app_name">My First App</string>
  <string name="edit_message">Enter a message</string>
  <string name="button_send">Send</string>
  <string name="action_settings">Settings</string>
  <string name="action_search">Search</string>
  <string name="title_activity_main">MainActivity</string>
  <string name="title_activity_display_message">My Message</string>
  <string name="hello_world">Hello world!</string>
</resources>

在MainActivity.java中

@Override
public boolean onCreateOptionsMenu(Menu menu) {
    // Inflate the menu items for use in the action bar
    MenuInflater inflater = getMenuInflater();
    inflater.inflate(R.menu.main, menu);
    return super.onCreateOptionsMenu(menu);
}

谢谢你的帮助!


问题答案:

尝试android:showAsAction代替app:showAsAction。或者,如果您正在使用反向端口appcompat_v7,请同时使用android:showAsActionapp:showAsAction(感谢Commonsware)。



 类似资料:
  • 我在网上找不到关于我的问题的任何信息,所以我想在这里分享一下。 我的问题是:我正在开发一款平板电脑应用程序,它有一个ActionBar。所述ActionBar的显示选项之前是在我的活动“onCreate through”中设置的: 当时一切都很顺利,主页图标上会自动显示一个箭头,向用户显示他可以向上导航。 现在,我想通过XML样式来设置它——我已经有了用于背景的样式,但只是关于用于显示选项。我是这

  • 我已经实现了ActionBarsherlock的示例com.actionBarsherlock.sample.fragments,所有这些都工作得很好,直到当所选选项卡有子片段时设备方向发生变化。 一切都好: 一切都很好,可以旋转设备没有问题。现在,如果我在Fragment2中选择一个列表项来推入Fragment2Child1,在我旋转设备之前,一切都是好的。 设备旋转时不良: tab1->Fra

  • 大家好,我正在开发示例Android应用程序,我正在其中尝试在actionbar中显示菜单项。但我的操作栏总是显示溢出菜单,即使只有一个菜单项。它没有在操作栏中显示我的菜单项图像。我以以下方式实施了这一点 我做错什么了吗?我需要一些帮助。非常感谢。

  • 这是我现在面临的一个奇怪的问题。从我的应用程序中,我从JSON文件中从链接中获取数据,然后用Volley解析它。现在我想在一个看起来不起作用的RecyclerView上显示数据,我很高兴我的代码很好,但是有些东西似乎不起作用,我找不到它。 这是活动代码 HomeActivity.java: 这是我从适配器中扩展的布局,并从JSON文件中设置数据 和适配器类相关的代码,我猜: @Override p

  • 问题内容: 我正在使用ActionBarSherlock,并尝试使用以下方法隐藏/显示全屏图像的ActionBar: 和 但这确实是跳跃和尴尬的。有没有办法使它更平滑,或者应用平移/不透明动画? 在进一步检查ABS源并观察其行为后,似乎至少定义了最少的动画。对于标准ActionBar,不能说相同的话。 为了完整起见,这是我从ImageView.click调用的相关代码: 值得注意的是,标志的设置/

  • 问题内容: 我有一个Foo类,它仅加载FXML并创建场景。 在FXML中,我将控制器设置为FooController() 然后添加一个MenuButton: 我尝试在FooController中设置menuButton: 但是,尽管为MenuButton设置了所有内容,但它并未在GUI中显示任何CheckMenuItems。 如何在FXML中定义的menuButton中加载这些项目? 问题答案: