Android Studio 0.5.7不会在操作栏中显示按钮

胡扯衬衫

我最近开始使用Android Studio,而不是Eclipse的ADT插件。总体而言,我对Android Studio的问题很少,过渡也不是那么困难。今天晚上,我在Android Studio中开始了一个新项目,并迅速为主要活动设置了基本布局,并添加了一个包含三个项目的操作栏。编辑菜单xml文件时,菜单的预览显示了操作栏中的按钮,但是当我在我的Galaxy SII(运行android 4.2.2)或Genymotion模拟器(运行android 4.3)中启动该应用程序时,这些按钮是总是被强制进入溢出菜单。我在操作栏中禁用了应用程序标题,以确保有足够的空间容纳按钮,但仍然没有运气。

然后,我在Eclipse中创建了一个项目,并通过菜单的XML复制了该项目。在我的手机和仿真器上,按钮均显示在操作栏中,而不是溢出菜单中。在这一点上,我看不出任何理由说明为什么该项目在两个不同的IDE之间应该表现出不同的行为。我将Eclipse项目导入到Android Studio中,令人惊讶的是,当我启动该应用程序时,再次在手机和仿真器上,这些按钮出现在操作栏中。

有人遇到过与此类似的问题吗?直到我设法在Android Studio中获得一个可以按我希望的方式运行的项目之前,花了好几个小时来回转。

Android Studio 0.5.7中的以下步骤将使您达到与我相同的目的。

  1. 创建一个新项目。
  2. 将最低API级别设置为11。
  3. 将目标API设置为19。
  4. 将所有其他设置保留为默认设置并创建项目。
  5. 在res / menu文件夹中,创建一个文件test_menu.xml。
  6. 将以下内容添加到文件中:

    <item android:id="@+id/testmeniitem"
      android:title="Test Menu Item"
      android:showAsAction="always"
      android:icon="@drawable/ic_launcher"
      />
    

预览应如下所示: 菜单预览

  1. 在MainActivity.java中,更新onCreateOptionsMenu,以使其膨胀测试菜单。

    getMenuInflater()。inflate(R.menu.test_menu,菜单);

  2. 在您选择的设备上运行项目。菜单项应该存在,但只能出现在溢出菜单中。

如果需要更多信息,请告诉我,我将更新问题。

施克奈德

尝试如下:

<?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/testmeniitem"
        android:title="Test Menu Item"
        android:showAsAction="always"
        app:showAsAction="always"
        android:icon="@drawable/ic_launcher"
        />

</menu>

您需要放置一个自定义名称空间并设置showAsAction两次。

我知道这很奇怪,但是必须以这种方式完成,以确保showAsAction所有API和所有兼容性库都可以正常工作。

ActionBar按钮文档页面

如果您的应用程序使用支持库以实现与Android 2.1一样低的版本的兼容性,则无法从android:命名空间使用showAsAction属性。相反,此属性由支持库提供,并且您必须定义自己的XML名称空间并将该名称空间用作属性前缀。(自定义XML名称空间应基于您的应用名称,但可以是您想要的任何名称,并且只能在声明它的文件范围内访问。)

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

工具栏不会在Android Studio中显示为操作栏

Android Studio 中的操作栏菜单不会显示

按钮不会在android studio中点击

Android Studio 不会在 PasswordToggleDrawable 中更改颜色

操作栏未显示在Android Studio中

Android Studio-后退按钮不会在每个设备上返回相同的页面

Android Studio,布局不会在模拟器上显示

操作栏的显示后退按钮在Android中不会返回

html 5 音频标签较低的宽度不会在 chrome 中显示播放按钮

不会在Android Studio的RecyclerView.ViewHolder中notifyDataSetChanged()启动init {}吗?

不会在Eclipse的TargetSdk中出现Android 5

Android Studio Clock Set Time仅显示0或30

如果用户不会在Android Studio中更新图像,则会在更新详细信息时出错

--prod标志不会在Android 7的Ionic 3应用中显示键盘

在Java中,“ 5/0”语句不会在我的Linux机器上触发SIGFPE信号,为什么?

Android Studio 3.0 Canary 5中的Gradle同步失败

Android 5 Lollipop,android:scaleX,android:translationX,Y在Android Studio布局预览中不起作用

使用Android Studio 1.4时,菜单项不会显示在操作栏上

Android Studio不会在IDE中解析以Kotlin(.kt)编写的类,但可以正常编译

Android Studio EditText字段为null或0

我的按钮未显示在Android Studio中

要更改操作栏图标Android Studio中AlertDialog的确定按钮单击时

Android studio (0,0) 在设备的右上角

Android Studio上的构建失败“ \ caches \ transforms-2 \ files-2.1 \ e5ae7cf0f80ee425fe42a4574342c71c \ aapt2-3.5.3-5435860-windows”

Visual Studio不会在Android模拟器上部署项目

Android Studio不会在设备上安装最新的应用程序

元素不会在Constraintlayout Android Studio中正确居中

Android Studio的调试器不会在库模块内的断点处停止

Android Studio 不会在一台机器上运行简单的应用程序