姜饼设备不使用Theme.AppCompat(支持库)中的Holo样式

时间:2013-11-14 02:58:25

标签: android android-layout android-ui android-support-library android-2.3-gingerbread

我正在使用v4和v7支持库在我的应用中集成操作栏和导航抽屉,支持API 10 +。

我已按照developer site上的指南,分别使用Theme.AppCompat和style / Widget.AppCompat.ActionBar作为主题和操作栏样式的父级。

一切正常,除非我在Gingerbread设备上测试时,下拉/弹出菜单之类的东西有白色背景(手机皮肤),文字字段不使用全息风格背景(再次使用手机)皮肤)。

我需要做什么额外的事情才能让Holo之前的设备继承全息风格的小部件吗?

提前致谢。

1 个答案:

答案 0 :(得分:4)

无论使用支持库,TextView,Spinner,CheckBox,Button,Switch等小部件都不会自动显示Holo样式。

支持库允许您使用的是一些非常重要的UI元素和API,这些元素和API在Honeycomb之前的Android版本中不可用(如ActionBar),但小部件的样式将保持与其完全相同手机实际运行的API级别。

你有几个选择:

1。)清除Android SDK安装的API> = 14个平台/子目录之一的资源,并复制/调整您想要自行更改的小部件的drawable和样式。然而,这是我根本不推荐的,因为如果你使用许多需要这种调整的不同小部件,这将是一项漫长而艰巨的任务。

2.。)使用Android Holo Colors,这是一个符合Holo标准资源的在线生成器,并且可以立即支持几乎所有小部件:http://android-holo-colors.com/ 只需选择您喜欢的颜色,您要支持的API版本以及您想要适应Holo的小部件。 Holo Colors将为您生成包含所有drawable和样式定义的存档。你可以直接复制到你的项目中的drawables,你可能必须集成到现有styles.xml中的样式

3.。)有一个名为HoloEverywhere(https://github.com/Prototik/HoloEverywhere)的库,它已经有大多数小部件适用于Holo,但是你需要扩展它们的自定义活动类并直接引用它们适应的小部件类。 / p>

希望这有帮助!