【问题标题】:How to theme Android Material Theme UI Elements with Appcelerator?如何使用 Appcelerator 为 Android Material Theme UI 元素设置主题?
【发布时间】:2023-03-12 17:21:01
【问题描述】:

有这个有用的信息,一切正常: http://docs.appcelerator.com/platform/latest/#!/guide/Android_Themes

图片也很有帮助:

问题是我想在顶部栏中使用白色或非常浅的灰色。但是,当我将其设置为“android:textColorPrimary”时,顶部栏中的文本是白色的,但在所有警报中,例如也使其不可见/非常难以阅读。

如何将栏的文本颜色设置为白色,并以默认文本颜色(深灰色)为警报消息和其他文本设置主题?

app/platform/android/res/values 中的themeAndroid.xml 是这样的

<?xml version="1.0" encoding="utf-8"?>
<resources xmlns:android="http://schemas.android.com/apk/res/android">
<style name="materialTheme" parent="@style/Theme.AppCompat.Light">
    <item name="colorPrimary">#2e7d32</item>
    <item name="colorPrimaryDark">#005005</item>
    <item name="colorAccent">#80d8ff</item>
    <item name="colorSwitchThumbNormal">#49a7cc</item>
    <item name="android:colorButtonNormal">#49a7cc</item>
    <item name="android:textColorPrimary">#DADADA</item>
    <item name="android:spinnerItemStyle">@style/SpinnerItem</item>
    <item name="android:spinnerDropDownItemStyle">@style/SpinnerDropDownItem</item>
</style>

【问题讨论】:

    标签: android user-interface themes appcelerator


    【解决方案1】:

    如果你想设置动作栏字体的颜色,你需要像这样扩展你的主题:

    <?xml version="1.0" encoding="utf-8"?>
    <resources>
    
        <style name="Theme.MyThemeActionbar" parent="Theme.AppCompat">
            <item name="colorPrimary">#FF0000</item>
            <item name="colorPrimaryDark">#000000</item>
    
            <item name="actionBarStyle">@style/CustomTheme.ActionBarStyle</item>
            <item name="actionBarTheme">@style/Theme.ActionBarTheme</item>
    
            <!-- tab -->
            <item name="actionBarTabTextStyle">@style/TabStyle</item>
            <item name="android:actionBarTabTextStyle">@style/TabStyle</item>
        </style>
    
        <style name="Theme.ActionBarTheme" parent="style/Widget.AppCompat.Light.ActionBar">
            <!-- actionbar arrow -->
            <item name="colorControlNormal">#ffffff</item>
        </style>
    
        <style name="CustomTheme.ActionBarStyle" parent="style/Widget.AppCompat.Light.ActionBar.Solid.Inverse">
            <!-- actionbar -->
            <item name="elevation">0dp</item>
            <item name="android:actionMenuTextColor">#FFFFFF</item>
            <item name="android:titleTextStyle">@style/CustomTheme.ActionBar.TitleTextStyle</item>
            <item name="titleTextStyle">@style/CustomTheme.ActionBar.TitleTextStyle</item>
        </style>
    
        <style name="CustomTheme.ActionBar.TitleTextStyle" parent="@android:style/TextAppearance.Holo.Widget.ActionBar.Title">
            <!-- actionbar font -->
            <item name="android:textColor">#FFFFFF</item>
        </style>
    
        <style name="TabStyle" parent="style/Widget.AppCompat.Light.ActionBar.TabText">
            <!-- tab font -->
            <item name="android:textColor">#ffffff</item>
        </style>
    </resources>
    

    然后您可以将字体颜色和原色设置为不同的值,而其他想法保留为默认值

    【讨论】:

    • 感谢关于扩展主题的提示!效果很好,更改了操作栏中的标题。有没有办法定位标签标题的颜色并将它们设置为白色?例如,views.xml 中的这个 不起作用。
    • 在我上面的例子中添加了标签字体
    猜你喜欢
    • 2020-09-01
    • 2021-04-08
    • 1970-01-01
    • 2022-08-10
    • 1970-01-01
    • 2016-09-08
    • 2018-10-06
    • 1970-01-01
    • 2019-07-15
    相关资源
    最近更新 更多