如何在android 4.2中显示选项菜单

2024-05-13

我正在尝试在我的测试应用程序中创建菜单选项。

当我将清单中的主题设置为默认时,我可以看到菜单(菜单显示在顶部)。如果我将清单中的主题设置为 NoTitleBar。我看不到菜单选项?

我想在清单中设置主题“NoTitleBar”时获取菜单。

如何修复它?

以下是我在测试应用程序中使用的内容:

与清单:

  <uses-sdk
      android:minSdkVersion="8"
    android:targetSdkVersion="17" />

<application
    android:allowBackup="true"
    android:icon="@drawable/ic_launcher"
    android:label="@string/app_name"
    android:theme="@android:style/Theme.NoTitleBar" >
    <activity
        android:name="com.ssn.menuoptions.MainActivity"
        android:label="@string/app_name" >
        <intent-filter>
            <action android:name="android.intent.action.MAIN" />

            <category android:name="android.intent.category.LAUNCHER" />
        </intent-filter>
    </activity>
</application>

</manifest>

And

Menu.xml

 <?xml version="1.0" encoding="utf-8"?>
 <menu xmlns:android="http://schemas.android.com/apk/res/android">
 <item android:id="@+id/menu_preferences"
      android:title="Preferences" /> 
 </menu>

Java文件:

@Override
public boolean onCreateOptionsMenu(Menu menu) 
    {
    // Inflate the menu; this adds items to the action bar if it is present.
    getMenuInflater().inflate(R.menu.main, menu);
    return true;
}

是否有可能得到这样的东西:

如何使菜单向上显示?

Thanks!


在 Activity.setContentView(); 下面添加以下代码

 setContentView(R.layout.activity_detail);
    // set option menu if has no hardware menu key
    boolean hasMenu = ViewConfiguration.get(this).hasPermanentMenuKey();
    if(!hasMenu){
        //getWindow().setFlags(0x08000000, 0x08000000);
        try {
            getWindow().addFlags(WindowManager.LayoutParams.class.getField("FLAG_NEEDS_MENU_KEY").getInt(null));
          }
          catch (NoSuchFieldException e) {
            // Ignore since this field won't exist in most versions of Android
          }
          catch (IllegalAccessException e) {
            Log.w("Optionmenus", "Could not access FLAG_NEEDS_MENU_KEY in addLegacyOverflowButton()", e);
          }
    }
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

如何在android 4.2中显示选项菜单 的相关文章

  • 在 Android 库项目中禁用 Crashlytics 进行调试

    我有一个包含多个模块的项目 模块的公共代码位于库模块中 问题是我们最近将 Crashlytics 添加到了我们的项目中 在库模块中 即使我们处于调试模式 我们也会不断收到错误报告 我在网上搜索了一下 发现库总是被视为Release模式 现在
  • 使用 Firebase 数据填充 Android spinner

    我在填充时遇到一些问题propertyAddress从我的properties桌子到我的旋转器MaintenanceActivity 问题本身不在于代码 而在于可以使用 Firebase 控制台修改的数据库规则 目前 我的规则是这样的 ru
  • Android spinner 将多列(连接)Sqlite 数据库加载到表中

    我正在学习如何创建一个从 SQLite 加载下拉列表的微调器 我有一个由旋转器和表格组成的用户界面 如果用户单击微调器 表的内容将根据微调器上选定的 ID 根据数据库加载 如果未选择名称 它将加载表中的所有内容 但是我找不到如何根据微调器上
  • 以编程方式设置 windowlightstatusbar 属性

    如您所知 我们可以设置windowLightStatusBar通过以下代码从 xml 中获取
  • 带图标的 Android 选项菜单

    如何使用选项菜单显示图标 我尝试了以下代码 但我的选项菜单没有图像图标 我正在使用 android 版本 4 0 来开发应用程序 Java代码 public boolean onCreateOptionsMenu Menu menu sup
  • 如何创建轮播ViewPager?

    我想做的只是 Android 中的水平轮播 如果我有 3 个屏幕 A B 和 C 那么我希望我的 ViewPager 允许我像这样移动 A B B C C A GTalk for Android 的对话可以这样切换 三星的主屏幕和应用程序屏
  • 如何在无头Linux中更新Android平台工具?

    我们有一些没有安装 X Window 的 CI 主机 我知道如何使用 android 更新命令更新 SDK 但如何使用此命令更新平台工具 您可以使用以下命令 android list sdk android update sdk no ui
  • 将 MapView 限制为屏幕的一半

    我试图让地图仅填充屏幕的上半部分 并在下半部分填充一些其他布局 现在我知道使用权重与表格布局相结合应该可以实现这一点 但是同一段 XML 代码可以完美地与 say 按钮配合使用 但不能与地图配合使用 截图在这里 https i stack
  • 如果使用键盘,如何捕获 TimePicker 中的时间变化?

    我有一个小部件 它是一个 TimePicker 用于检索数据库字段中保存的时间 问题是 当用户更改小部件中的时间值时 这不会保存在数据库中 所以我遇到了setOnTimeChangedListener如果您只在小部件中使用加号和减号 那么该
  • Android Fabric Crashlytics 崩溃,初始化时未找到资源

    我从 google play 控制台收到了这份报告 看起来 Fabric 在启动时崩溃了 因为某些用户出现了资源未找到的异常 java lang RuntimeException at android app ActivityThread
  • 更新到 3.2.0 后 Gradle 构建失败

    因此 在将 Gradle 插件更新到 3 2 0 并将 gradle wrapper 更新到 4 6 后 我遇到了问题 Android Studio 版本是 3 2 使用 Gradle 版本 即 alpha 11 也没有结果 什么地方出了错
  • GoogleMap 本质上是可打包的吗?

    我对java和android很陌生 我遇到了一个基本问题 在这个给定的fragment 我可以添加GoogleMap对象为parcelable没有任何额外的pracelable类为 public class SecondFragment e
  • 如何使用Gson将JSONArray转换为List?

    在我的 Android 项目中 我试图将收到的 JSONArray 转换为列表 在 的帮助下这个答案 https stackoverflow com questions 8371274 how to parse json array in
  • 如何触发 Google Play 商店自动更新机制?

    简而言之 我希望我的应用程序在我向商店发布新的 APK 后立即更新 我找不到任何有关自动更新实际发生时间的信息 而且似乎变化很大 有一次是在几个小时后发生的 另一次是 12 小时没有更新 似乎是在设备重启时发生的 但是还有其他情况吗 我可以
  • 将对象传递给活动

    我可以在第一个活动中初始化对象并在所有活动中初始化对象吗 public class Calc int x int y public Calc int x int y this x x this y y public int sum retu
  • 在Android项目中引用(纯java)项目(找不到类)

    我试图在我的 Android 项目中引用一个纯 java 项目 gt Java 项目有一大堆我需要使用的类 哦 正如第一个回复所指出的 我正在使用 eclipse 是的 唯一的问题是 我总是找不到类 XXX 从方法 com example
  • 从另一个活动返回时 Android ListView 项目没有响应?

    我从 ArrayAdapter 创建一个 ListView ListView的每一行都有一个ImageView和一个TextView 现在我使用 setOnItemClickListener 处理单击事件 lv getListView lv
  • Android动态功能模块,找不到资源

    当下载的功能模块发布到 Play 商店时 我在启动活动时遇到问题 它总是在下载模块活动中的 setContentView 上崩溃 java lang RuntimeException Unable to start activity Com
  • 片段已添加 IllegalStateException

    我在容器 Activity 上使用此方法来显示 BFrag public void showBFrag Start a new FragmentTransaction FragmentTransaction fragmentTransact
  • 如何从 Android 应用程序调用 REST API? [关闭]

    Closed 这个问题需要多问focused help closed questions 目前不接受答案 我是 android 新手 也是编程新手 如何从 Android 应用程序调用 REST api GET POST 请求 请给我推荐一

随机推荐

  • SQLAlchemy+pymysql 错误:sqlalchemy.util.queue.Empty

    尝试使用 Eclispse 在 Ubuntu 上运行 Python 2 SQLAlchemy 0 8 和 MySQL5 2 但我不断收到以下错误 我使用 pymysql 实际上是 pymysql3 引擎 模块监视器 from sqlalch
  • 由于 Crittercism 的 .sh 文件而无法上传应用程序

    我们自过去 2 年以来一直在使用 Crittercism SDK 并且能够成功上传应用程序 自过去 2 天以来 由于 dsym upload sh 文件 我们无法使用 Crittercism 上传应用程序 任何人都遇到同样的问题 Critt
  • 检查ArrayCollection是否为空

    我有一个实体订单 其中包含数组集合中的供应商 在我的控制器中 我想检查这个数组集合是否为空 suppliers order gt getSuppliers 我试过 if suppliers if empty suppliers 有任何想法吗
  • 如何在google colab中降级到tensorflow-gpu版本1.12

    我正在运行一个仅与旧版本的tensorflow GPU兼容的GAN 因此我需要将google colab中的tensorflow gpu从1 15降级到1 12 我尝试使用本中建议的以下命令thread https stackoverflo
  • 自定义 UITableViewCellEditControl

    有没有一种简单的方法来定制UITableViewCellEditControl 更具体地说 我想更改图像的加号和减号 到目前为止我发现了什么 http voidrant tumblr com post 27760918492 customi
  • CSS3输入元素的圆角,没有js/图像

    谁可以为输入元素制作圆角 我需要一种不使用 javascript 和图像的方法 Added
  • 为什么抽屉布局中的视图强制缩放以填充屏幕

    这是我的测试代码
  • 片段开始时显示用于编辑文本的键盘

    当我的片段开始时 我希望我的编辑文本成为焦点 让用户开始输入内容 我可以使用 requestFocus 将其聚焦 但无法显示键盘 我已经尝试过这两种方法 edit EditText view findViewById R id search
  • 根据客户端发送 HTML 或 JSON 响应

    我有一个带有 Eloquent 实体及其各自的 Laravel 应用程序RESTful 资源控制器 http laravel com docs 5 0 controllers restful resource controllers 如下所
  • 如何使用自动布局在自定义 UITableViewCell 内动态设置 UITextView 高度

    I have UITableView every tableViewCell is custom Inside my customTableViewCell is a UITextView TextViews frame is pin or
  • 角度引导手风琴数据绑定问题

    我有 2 个相同型号的下拉菜单 一个位于手风琴内部 另一个位于外部 外部下拉菜单在 2 路数据绑定方面工作良好 但手风琴内部的下拉菜单似乎只有 1 路绑定 换句话说 在 UI 中选择并不会设置模型值 我找到了一个建议here https s
  • 如何将多个文件上传到Firebase?

    有没有办法将多个文件上传到 Firebase 存储 它可以在一次尝试内上传单个文件 如下所示 fileButton addEventListener change function e Get file var file e target
  • 分层对象和 AutoFixture

    我已经实现了一个用于存储标签的类 标签集合必须是分层的 所以我的类是 public class Tag public int Id get set public int Description get set public Tag Pare
  • 使用 PRAW 帮助获取 Reddit 帖子链接到的 URL

    我正在尝试使用 Praw 获取 Reddit 提交标题中链接的帖子 例如提交 http www reddit com r AdviceAnimals comments 1adu71 apparently people still need
  • 分发 IronPython 应用程序

    我正在考虑使用 IronPython 开发一个小型应用程序 但是我想将我的应用程序分发给非技术人员 因此理想情况下 我希望能够为他们提供我的应用程序的标准快捷方式以及安装 IronPython 所需的说明第一的 如果可能的话 我什至希望我的
  • 如何从 MacOS X Dock 启动脚本?

    我知道我可以将应用程序固定到扩展坞并从那里启动它们 但是 有没有办法将不是 MacOS 意义上的 应用程序 的程序 例如 bash 脚本 固定到扩展坞上 您可以将任何文件拖到 Dock 的右侧栏 垃圾箱和文件夹所在的位置 然后单击它来执行它
  • 使用 POJO 仅更新 JOOQ 记录中已更改的字段

    我想使用 POJO 作为源来更新 JOOQ 记录中已更改的字段 Record from Object http www jooq org javadoc 3 8 x org jooq Record html from java lang O
  • Android:等待 firebase valueEventListener

    我正在尝试使用信号量来等待我的 firebase valueEventListener 我有一个用户信息活动 其中包含用户必须填写的 6 个不同字段 当用户保存他 她的信息时 我想进行 全有或全无 类型的检查 某些用户信息不能重复 例如用户
  • 如何使用 tweepy 仅提取主题标签中的文本?

    我想为我的情感分析项目提取主题标签 但是我得到了一个字典列表 其中包含所有主题标签及其在推文中的索引 我只想要文字 我的代码 data tweepy Cursor api search q since a i until b i items
  • 如何在android 4.2中显示选项菜单

    我正在尝试在我的测试应用程序中创建菜单选项 当我将清单中的主题设置为默认时 我可以看到菜单 菜单显示在顶部 如果我将清单中的主题设置为 NoTitleBar 我看不到菜单选项 我想在清单中设置主题 NoTitleBar 时获取菜单 如何修复