【问题标题】:How to have multiple theme in my android app?如何在我的 android 应用程序中有多个主题?
【发布时间】:2019-10-08 06:47:38
【问题描述】:

这是我的应用程序的主屏幕。我在设计中使用了DrawableColor 资源。现在我想要多个颜色集(对于青色的部分),以便用户可以在运行时更改它们。我搜索了很多,但它们不适合我的情况。

请注意,我只想更改青色部分。我知道我可以使用style 属性更改所有TextView 样式,但我只需要某些视图获得某些可绘制对象或颜色作为背景。

我找到了一个解决方案here,但我不能使用它,因为它需要高于 21 的 min sdk 而我的是 16。

Home screen

【问题讨论】:

    标签: android styles themes


    【解决方案1】:

    您可以像这样轻松设置主题:

    public void onCreate(Bundle savedInstanceState) {
        setTheme(R.style.your_theme);
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity)
    }
    

    【讨论】:

    • 谢谢,但不是我的情况
    【解决方案2】:

    values/styles.xml 中定义您的风格,如下所示:

    <style name="AppTheme.MyTheme" parent="AppTheme.NoActionBar">
        <item name="colorPrimary">@color/primaryColorCyan</item>
        <item name="colorPrimaryDark">@color/primaryDarkColorCyan</item>
        <item name="colorAccent">@color/secondaryColorCyan</item>
    </style>
    

    然后在onCreate()方法中在setContentView()之前调用setTheme(R.style.MyTheme)setThemeAPI LEVEL 1 中引入。

    【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多