【问题标题】:How set ICS theme for application with minSDK 7?如何使用 minSDK 7 为应用程序设置 ICS 主题?
【发布时间】:2012-01-04 19:44:05
【问题描述】:

谁能告诉我如何为我的应用程序设置一个主题,该主题会在 Android 版本发生变化时发生变化。例如,如果有人在 Android 2.1 主题上使用我的应用程序,将如下所示:http://daily-money.googlecode.com/svn/wiki/img/prefs.png

但如果有人会在例如 Android 4.0.3 上使用我的应用程序,主题将如下所示:http://img.tapatalk.com/dcff019c-27ba-1e1a.jpg 我用过 minSDK 7。

谢谢。

【问题讨论】:

    标签: android styles themes android-4.0-ice-cream-sandwich


    【解决方案1】:

    你想要什么在这个页面上详细说明:http://android-developers.blogspot.com/2012/01/holo-everywhere.html

    在标题为“旧应用程序的默认设置”的部分中

    您设置了 2 个主题文件,一个在 values 目录中,一个在 values-v11 目录中。然后在 Manifest 中引用该主题文件。正如我在上面链接的页面中所述。您需要该页面上“在支持 Android 2.x 时使用 Holo”部分下列出的所有三个 XML 块。

    【讨论】:

    • 写到这里之前试过了,没用,不知道用对了没有。我必须将其仅添加到清单中还是仅添加到 styles.xml 或两个文件中?
    • 两者,请参阅我添加到答案中的其他内容。
    • 我无法将这些行添加到/res/values-v11/themes.xml,它写了这个错误,我认为是因为minSDK 7。错误:检索项目的父项时出错:否找到与给定名称“@android:style/Theme.Holo”匹配的资源。
    • 您必须在 Eclipse Android 设置中将目标 SDK 设置为 11 或更高版本(Android 3.0 或更高版本)。
    • 能否在 2.x 设备上运行带有 ICS 主题的应用程序或仅兼容旧主题?
    【解决方案2】:

    首先获取设备上运行的android版本:

    if (android.os.Build.VERSION.SDK_INT >= 11) {
    

    ....

    你可以在调用 setContentView(...) 和 super.oncreate() 之前使用 setTheme(..) 并且它应该可以正常工作

    【讨论】:

      【解决方案3】:

      @letroll,你给 setTheme 传递了什么参数?是否需要将 min sdk 增加到 13 才能使 SDK 可用?

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2013-10-01
        • 1970-01-01
        • 1970-01-01
        • 2012-04-07
        • 1970-01-01
        相关资源
        最近更新 更多