- into:
DevShapeUtils.xxx.into(view)
直接设置到相应的view
- build:
DevShapeUtils.xxx.build()
返回Drawable
对象,使用view.setBackground(drawable)
设置样式(注意:设置触摸字体颜色变化用此无效)
![DevShapeUtils-Shape](/LiangLuDev/DevShapeUtils/raw/master/DevShapeUtils.jpg)
//椭圆
DevShapeUtils
.shape(DevShape.OVAL)
.solid(R.color.colorAccent)
.into(view);
//矩形
DevShapeUtils
.shape(DevShape.RECTANGLE)
.solid(R.color.colorAccent)
.into(view);
//圆角
DevShapeUtils
.shape(DevShape.RECTANGLE)
.solid(R.color.colorAccent)
.radius(10)
.into(view);
//方向圆角(top-left方向圆角)
DevShapeUtils
.shape(DevShape.RECTANGLE)
.solid(R.color.colorAccent)
.tlRadius(10)
.into(view);
//半圆角
DevShapeUtils
.shape(DevShape.RECTANGLE)
.solid(R.color.colorAccent)
.radius(999)
.into(view);
//实线圆角边框(line 参数1:边框宽度 参数2:边框颜色)
DevShapeUtils
.shape(DevShape.RECTANGLE)
.line(1, R.color.colorAccent)
.radius(10)
.into(view);
//虚线圆角边框(dashLine 参数1:边框宽度 参数2:边框颜色 参数3:虚线宽度 参数4:虚线间隙宽度)
DevShapeUtils
.shape(DevShape.RECTANGLE)
.dashLine(1, R.color.colorPrimary, 5, 5)
.radius(10)
.into(view);
//渐变(默认线性上下方向渐变)
DevShapeUtils
.shape(DevShape.RECTANGLE)
.gradient(R.color.colorAccent, R.color.colorPrimary)
.into(view);
//线性渐变(参数:渐变颜色,颜色数量必须两个及以上)
//orientation在gradientLinear之后设置才有效
DevShapeUtils
.shape(DevShape.RECTANGLE)
.gradientLinear(R.color.colorAccent, R.color.colorPrimary)
.orientation(DevShape.TOP_BOTTOM)
.into(view);
//扫描渐变(gradientSweep 参数1:渐变颜色,颜色数量必须两个及以上)
DevShapeUtils
.shape(DevShape.OVAL)
.gradientSweep(R.color.colorAccent, R.color.colorPrimary)
.into(view);
//辐射渐变(gradientRadial 参数1:辐射范围 参数2:渐变颜色,颜色数量必须两个及以上)
DevShapeUtils
.shape(DevShape.OVAL)
.gradientRadial(30, R.color.colorAccent, R.color.colorPrimary)
.into(view);
![DevShapeUtils-Selector](/LiangLuDev/DevShapeUtils/raw/master/DevShapeUtils-Selector.gif)
Selector
类型可以自己设置,具体对应关系可以查看 Selector
状态详解
//设置Selector状态 (selector 参数1:Selector状态 参数2:true状态颜色 参数2 false状态颜色)
DevShapeUtils
.selector(DevSelector.STATE_CHECKABLE,R.color.colorAccent,R.color.colorPrimary)
.selectorTextColor("#ffffff", "#000000")
.into(button);
//触摸背景颜色变化(selectorPressed 参数1:触摸颜色 参数2 正常颜色)
DevShapeUtils
.selectorPressed(R.color.colorAccent,R.color.colorPrimary)
.into(view);
//触摸背景颜色和字体颜色变化(selectorTextColor 参数1:触摸颜色 参数2 正常颜色)
DevShapeUtils
.selectorPressed(R.color.colorAccent,R.color.colorPrimary)
.selectorTextColor("#ffffff", "#000000")
.into(view);
//触摸圆角背景和字体颜色变化
Drawable pressedDrawable = DevShapeUtils
.shape(DevShape.RECTANGLE)
.solid(R.color.colorAccent)
.radius(10)
.build();
Drawable normalDrawable = DevShapeUtils
.shape(DevShape.RECTANGLE)
.solid(R.color.colorPrimary)
.radius(10)
.build();
DevShapeUtils
.selectorPressed(pressedDrawable,normalDrawable)
.selectorTextColor("#ffffff", "#000000")
.into(view);
//设置点击事件是否可用(selectorEnable 参数1:可点击颜色颜色 参数2 不可点击颜色颜色)
//设置selector字体颜色只能使用into 只能传入TextView的及子类
DevShapeUtils
.selectorEnable(R.color.colorAccent,R.color.colorPrimary)
.selectorTextColor("#ffffff", "#000000")
.into(button);
//button默认true
button.setEnabled(false);
TextView或者View
等设置Selector
时,使用build
方式,先调用view.setOnClickListener(null)