【问题标题】:Common practice for using Android themes dealing with versions使用 Android 主题处理版本的常见做法
【发布时间】:2013-01-14 01:19:39
【问题描述】:

据我了解,在 android 上建议保留原生外观和感觉,但我不禁注意到编译的默认组件在 Jellybean 上不会显示为 Holo。这是否意味着我们必须在版本 11 的文件夹 styles.xml 中指定 Holo 并在其他地方设置默认值?指定自定义主题来实现原生体验似乎违反直觉。

【问题讨论】:

    标签: android android-4.2-jelly-bean


    【解决方案1】:

    为多个平台版本编码时,您确实需要指定一个主题。

    res/values/styles.xml 下,你应该有类似的内容:

    <resources>
        <style name="AppTheme" parent="@android:style/Theme.Black" />
    </resources>
    

    然后在res/values-v11/styles.xml

    <resources>  
        <style name="AppTheme" parent="@android:style/Theme.Holo" />
    </resources>
    

    然后在您的 AndroidManifest.xml 中,您应该将主题指定为:

    android:theme="@style/AppTheme"
    

    但是,如果您根本没有指定任何主题(所以没有android:theme 属性),Android 应该会自动转到设备的默认主题。

    【讨论】:

    • 感谢 A C,“为多个应用程序版本编码”我假设您的意思是 Android 设备的版本。如果是这样的话,我为什么需要指定 2 个不同的主题(只是根本不像你提到的所有案例那样指定)
    • @Mike 感谢您发现该错误!如果您要自定义主题,通常会这样做。例如,如果您想要一个浅色主题,则设备默认值可能是浅色的,因此您需要一种方法来确保。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2011-10-21
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-10-30
    • 2021-05-22
    • 1970-01-01
    相关资源
    最近更新 更多