Button的背景选择器

效果图
版本4.4
image
版本5.0+
image

要实现以上按钮的selector,颜色角度不同的情况下会分别创建不同selector和shape,,现在只用一个ButtonBgUi就可以达到以上的效果 不重复的创建selector

1.将其添加到根构建中。仓库末尾的gradle:

allprojects {
        repositories {
            ...
            maven { url 'https://jitpack.io' }
        }
    }

2.添加依赖关系

dependencies {
            compile 'com.github.ithedan:CustomViewBgUi:v1.0'
    }
布局



    

        

        
    

    

    

    

        

        
    

    

    

        

        
        
        

    

自定义属性说明

strokeColor
默认边框的颜色

selectStrokeColor
选中边框的颜色

pressedColor
选中的背景色

defaultColor
默认的背景色

isRipple
是否设置水波纹效果

parameter
颜色变亮或变浅参数默认0.2

strokeWidth
边框的宽度

raoundRadius
圆角

topLeftRadius
左上角圆角

topRightRadius
右上角圆角

bottomLeftRadius
左下角圆角

bottomRightRadius
右下角圆角

注意事项

1、如果不需要背景选择器,只需要不用设置defaultColor

 

2、如果不设置pressedColor选中的颜色,会根据defaultColor默认的颜色判断选中的颜色是变亮或变暗


3、如果不想在5.0+设备上有水波纹效果添加app:isRipple="false"

由于经常写Button 一直在写选择器 我找了一下发现一个很好的在此转载
转自《赫丹》https://www.jianshu.com/p/366ae0bfc17a

另附源码地址

你可能感兴趣的:(Button的背景选择器)