• 完全自定义MaterialButtonToggleGroup颜色。


    MaterialButtonToggleGroup自定义:边框颜色,边框宽度,边框弧度,排列方式,文字按下抬起颜色,背景按下抬起颜色。

    搜索好的都是教怎么用,而没有说明怎么替换颜色。我跟了一下style继承关系,替换了想要替换的颜色。
    在这里插入图片描述

    布局文件

       <com.google.android.material.button.MaterialButtonToggleGroup
                    android:id="@+id/toggleGroup"
                    android:layout_width="wrap_content"
                    android:layout_height="wrap_content"
                    android:theme="@style/MyMaterialButtonToggleGroup"
                    app:checkedButton="@id/btn1"
                    app:singleSelection="true">
    
                    <com.google.android.material.button.MaterialButton
                        android:id="@+id/btn1"
                        style="@style/MyOutlinedButton"
                        android:layout_width="wrap_content"
                        android:layout_height="wrap_content"
                        android:text="选项一"
                        android:textSize="@dimen/sp18" />
    
                    <com.google.android.material.button.MaterialButton
                        android:id="@+id/btn2"
                        style="@style/MyOutlinedButton"
                        android:layout_width="wrap_content"
                        android:layout_height="wrap_content"
                        android:text="选项二"
                        android:textSize="@dimen/sp18" />
    
                    <com.google.android.material.button.MaterialButton
                        android:id="@+id/btn3"
                        style="@style/MyOutlinedButton"
                        android:layout_width="wrap_content"
                        android:layout_height="wrap_content"
                        android:text="选项三"
                        android:textSize="@dimen/sp18" />
    
                com.google.android.material.button.MaterialButtonToggleGroup>
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14
    • 15
    • 16
    • 17
    • 18
    • 19
    • 20
    • 21
    • 22
    • 23
    • 24
    • 25
    • 26
    • 27
    • 28
    • 29
    • 30
    • 31
    • 32
    • 33

    style 文件

    
        <style name="MyMaterialButtonToggleGroup" parent="Widget.MaterialComponents.MaterialButtonToggleGroup">
            
            
            
            "android:orientation">horizontal
            
            "cornerSizeTopLeft">@dimen/dp4
            
            "cornerSizeTopRight">@dimen/dp4
            
            "cornerSizeBottomLeft">@dimen/dp4
            
            "cornerSizeBottomRight">@dimen/dp4
        style>
    
        
        <style name="MyOutlinedButton" parent="Widget.MaterialComponents.Button.OutlinedButton">
            
            "strokeColor">@color/white
            
            "strokeWidth">1dp
            
            "android:textColor">@drawable/outline_text_color
            
            "backgroundTint">@drawable/outline_bg_color
        style>
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14
    • 15
    • 16
    • 17
    • 18
    • 19
    • 20
    • 21
    • 22
    • 23
    • 24
    • 25
    • 26
    • 27

    文字筛选器 outline_text_color.xml

    
    <selector xmlns:android="http://schemas.android.com/apk/res/android">
        
        <item android:alpha="1.00" android:color="@color/white" android:state_checkable="true" android:state_checked="true" android:state_enabled="true" />
        
        <item android:alpha="1.00" android:color="@color/gray_C" android:state_checkable="true" android:state_checked="false" android:state_enabled="true" />
        <item android:alpha="1.00" android:color="@color/white" android:state_enabled="true" />
        <item android:alpha="1.00" android:color="@color/white" />
    selector>
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9

    背景筛选器 outline_bg_color.xml

    <selector xmlns:android="http://schemas.android.com/apk/res/android">
        
        <item android:alpha="0.3" android:color="@color/white" android:state_checked="true"/>
        
        <item android:alpha="1.00" android:color="@android:color/transparent" android:state_checked="false"/>
    selector>
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
  • 相关阅读:
    2022国赛正式题iscis服务
    netty报错:LEAK: ByteBuf.release() was not called before it‘s garbage-collected
    30.CSS文本悬停过渡效果
    组合数 rust解法
    k8s晋级之亲和性与反亲和性
    docker 生成镜像的几个问题
    集业界最优资源,SAIC AI LAB 2.0技术架构如何将Robotaxi量产变为可能?
    ArduPilot开源飞控之AP_Baro_SITL
    【Flink】检查点算法实现原理之检查点分界线
    Element Plus 组件库相关技术:7. 组件实现的基本流程及 Icon 组件的实现
  • 原文地址:https://blog.csdn.net/Yu1441/article/details/126225531