jam*_*esc 5 android android-menu android-actionbar
我有一个应用程序范围的菜单,不会总是显示.具体来说,我的问题是,当我将目标sdk版本设置为16时,对于没有硬件菜单按钮的设备,3个点(操作栏?)应该出现实际上没有.
我有以下清单条目
<uses-sdk android:minSdkVersion="8" android:targetSdkVersion="10" />
Run Code Online (Sandbox Code Playgroud)
在没有硬件按钮的avd仿真器中,我看到动作栏菜单的3个点
但是如果我将目标设置为16
<uses-sdk android:minSdkVersion="8" android:targetSdkVersion="16" />
Run Code Online (Sandbox Code Playgroud)
没有操作栏
我在各种资源文件夹中设置了样式 - 值,值-v11和值-v14
特别是在值-v14中,我有一个说明的styles.xml文件
<style name="AppTheme" parent="android:Theme.Holo.Light.DarkActionBar" />
Run Code Online (Sandbox Code Playgroud)
设置主题的清单条目是
<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">
Run Code Online (Sandbox Code Playgroud)
我想知道是否需要为所有sdk版本设置包含样式的资源文件夹?
我不知道为了能够设置android:targetSdkVersion ="16"并且有动作栏(3点)菜单出现的正确方法应该是什么
更新我现在使用ActionBarSherlock没有问题
请参阅@S先生提供的链接,Android缺少MENU按钮,了解更多关于此问题的信息.
但要回答你的问题:
我想知道是否需要为所有sdk版本设置包含样式的资源文件夹?
不会.它将采用最高的 API.例如,如果您有:
values.xmlvalues-v11.xmlvalues-v16.xml以下示例Android OS API级别将使用:
values.xmlvalues.xmlvalues-v11.xmlvalues-v11.xmlvalues-v16.xml等等.
我不知道为了能够设置android:targetSdkVersion ="16"并且有动作栏(3点)菜单出现的正确方法应该是什么
如果活动是全屏,则任何超过10的API级别(分钟或目标)都会导致点消失.解决这个问题的唯一方法是编写自己的菜单系统,或使用像ActionBarSherlock这样的填充库.
如果活动通常具有标题栏,但您希望将API级别设置为10以上,则必须设置活动的Holo.Theme输入代码.请参阅此Holo Everywhere博客文章和Android主题,全屏和操作栏,了解如何执行此操作.
更新:请注意,较新的Android硬件指南不需要硬件菜单按钮.此hack仅适用于使用软按钮的设备(如Nexus 7).对于既不提供(例如许多HTC设备)的设备,即使有这种黑客,用户也无法进入菜单.它强烈建议改用操作栏概念.
| 归档时间: |
|
| 查看次数: |
10745 次 |
| 最近记录: |