微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

Android:SwitchCompat,填充和颜色问题

我正在使用 android.support.v7.widget.SwitchCompat,我遇到了以下问题

>我的样式包括colorControlActivated不适用
>使用Android命名空间和Res-Auto切换填充无效
>如何将拇指文本设置为全部大写

我的代码

Styles.xml

注意我试过没有父和Theme.AppCompat.Light.NoActionBar

<style name="ToggleSwitchStyle" parent="Theme.AppCompat">
    <item name="colorControlActivated">@color/emerald</item>
</style>

我的SwitchCompat在XML布局中定义

<android.support.v7.widget.SwitchCompat
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:checked="true"
    android:padding="5dp"
    android:textOff="@string/no"
    android:textOn="@string/yes"
    app:showtext="true"
    android:switchPadding="5dp"
    app:switchPadding="10dp"
    app:theme="@style/ToggleSwitchStyle"
    android:theme="@style/ToggleSwitchStyle"
    android:textAllCaps="true"
    app:thumbTextPadding="5dp"
    >

所以在上面的文字中,AllCaps不会使拇指上的文字全部大写.

切换填充无效

使用Res-Auto或Android命名空间的主题对活动颜色没有影响.

但是,我可以通过更改材质主题的颜色重音来更改活动颜色

<!-- Application theme. -->
    <style name="MaterialDesign" parent="Theme.AppCompat.Light.NoActionBar">
        <item name="colorPrimary">@color/colorPrimary</item>
        <item name="colorPrimaryDark">@color/colorPrimaryDark</item>
        <item name="colorAccent">@color/yellow</item>
    </style>

解决方法

确保您的Styles.xml位于values-v21文件夹中.我在switchcompat中遇到了类似的问题,无法改变颜色.

这对我有用.将styles.xml保存在values-v21文件夹和ColorAccent中以更改开关的颜色.

<?xml version="1.0" encoding="utf-8"?>
<resources>

    <style name="colortoggle">
        <item name="colorAccent">@color/continue_button</item>
    </style>
</resources>

对于拇指问题:textAppearance和相关的setTypeface()方法控制标签文本的字体和样式,而switchTextAppearance和相关的seSwitchTypeface()方法控制拇指的字体和样式.

原文地址:https://www.jb51.cc/android/315071.html

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐