Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/loops/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/sorting/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
在某些版本的Android上选择性地启用操作栏_Android_Android 3.0 Honeycomb_Android Actionbar - Fatal编程技术网

在某些版本的Android上选择性地启用操作栏

在某些版本的Android上选择性地启用操作栏,android,android-3.0-honeycomb,android-actionbar,Android,Android 3.0 Honeycomb,Android Actionbar,我有一个应用程序,目前正在移植到平板电脑上。在这个过渡时期,我希望这款应用程序在平板电脑上安装时看起来非常蜂窝状。特别是,我希望应用程序在平板电脑上安装时有一个操作栏。但是,当应用程序安装在手机上时,我不想要一个动作栏,因为我不想重新设计手机体验以适应这个时候的动作栏 当我的应用程序安装在手机上时,让它看起来与当前一样,但在平板电脑上安装时添加一个操作栏的最佳方式是什么?为平板电脑设备使用单独的布局文件。将large或xlarge附加到目录的末尾将只允许那些设备访问它 例如: layout-la

我有一个应用程序,目前正在移植到平板电脑上。在这个过渡时期,我希望这款应用程序在平板电脑上安装时看起来非常蜂窝状。特别是,我希望应用程序在平板电脑上安装时有一个操作栏。但是,当应用程序安装在手机上时,我不想要一个动作栏,因为我不想重新设计手机体验以适应这个时候的动作栏


当我的应用程序安装在手机上时,让它看起来与当前一样,但在平板电脑上安装时添加一个操作栏的最佳方式是什么?

为平板电脑设备使用单独的布局文件。将large或xlarge附加到目录的末尾将只允许那些设备访问它

例如:

layout-large
drawable-xlarge
values-large

我通过使用不同风格的手机和平板电脑实现了我的目标

在res/values/styles.xml中,我将默认(电话)样式配置为从Theme.Light继承

<style name="my_theme" parent="@android:style/Theme.Light">
    ...
</style>

...
在res/values xlarge mdpi/styles.xml中,我使用Theme.Holo,因为文档指定所有Theme.Holo活动都有操作栏

<style name="my_theme" parent="android:Theme.Holo">
    ...
</style>

...
当然,我的AndroidManifest指定了要使用的主题:

<application
    android:theme="@style/my_theme"
    ...
/>


这似乎给了我一个平板电脑设备上的操作栏,但手机设备上没有操作栏。

特别是,你需要这样做,因为你不能真正使用操作系统自己的操作栏,需要自己伪造一个。冰激凌三明治支持手机上的动作条——我不知道有什么方法可以告诉Android不要在ICS手机上使用动作条,而是在其他ICS设备上使用。但为什么要避免在ICS手机上使用动作条呢?看看gmail ICS应用程序,它已经有了。这个问题解释道“……因为我现在不想重新设计手机体验来适应一个动作条。”你可能不同意我的愿望,但问题中的解释是正确的。