gpt4 book ai didi

当目标 sdk 版本大于 10 时,Android 操作栏菜单不显示。为什么?

转载 作者:塔克拉玛干 更新时间:2023-11-02 22:38:43 25 4
gpt4 key购买 nike

我有一个不会始终显示的应用程序范围菜单。具体来说,我的问题是,当我将没有硬件菜单按钮的设备的目标 sdk 版本设置为 16 时,实际上应该出现的 3 个点(操作栏?)\lly 没有。

我有以下 list 条目

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

在没有硬件按钮的 avd 模拟器中,我看到操作栏菜单的 3 个点

但如果我将目标设置为 16

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

没有出现操作栏

我在各种资源文件夹中设置了样式 - values、values-v11 和 values-v14

特别是在 values-v14 中,我有一个 styles.xml 文件说明

<style name="AppTheme" parent="android:Theme.Holo.Light.DarkActionBar" />

设置主题的 list 条目是

<application android:label="@string/app_name"
android:name="uk.co.pjadult.mobile.adult_reader_lib.BookLib"
android:icon="@drawable/ic_launcher"
android:theme="@style/AppTheme">

我想知道是否需要为所有 sdk 版本设置具有样式的资源文件夹?

我不知道正确的方法应该是什么才能设置 android:targetSdkVersion="16"并显示操作栏(3 个点)菜单

更新我现在使用 ActionBarSherlock 没有任何问题

最佳答案

查看@Mr.S 提供的链接,Android missing MENU button , 有关此问题的更多信息。

但要回答你的问题:

I am left wondering if I need to set up resource folders with styles for ALL sdk versions?

没有。它将采用最高可用的 API。例如,如果您有:

  • values.xml
  • values-v11.xml
  • values-v16.xml

以下 Android 操作系统 API 级别示例将使用:

  • API 4:values.xml
  • API 10:values.xml
  • API 11:values-v11.xml
  • API 13:values-v11.xml
  • API 16:values-v16.xml

等等。

I am at a loss as to what the correct approach should be in order to be able to set android:targetSdkVersion="16" AND have the action bar (3 dots) menu appear

如果 Activity 是全屏的,任何高于 10 的 API 级别(最低或目标)都会导致圆点消失。解决这个问题的唯一方法是编写自己的菜单系统,或者使用像 ActionBarSherlock 这样的垫片库。 .

如果 Activity 通常有一个标题栏,但你想将 API 级别设置为 10 以上,那么你必须在 Activity 代码中设置 Holo.Theme。看这个Holo Everywhere博客文章和 Android theme, fullscreen and the action bar了解如何做到这一点。

更新:请注意,较新的 Android 硬件指南不需要硬件菜单按钮。而且这个 hack 只适用于使用软按钮的设备(比如 Nexus 7)。对于两者都不提供的设备(例如许多 HTC 设备),用户将无法访问菜单——即使使用此 hack。 强烈建议切换到操作栏概念。

关于当目标 sdk 版本大于 10 时,Android 操作栏菜单不显示。为什么?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12531174/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com