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

自定义Button支持圆角,再也不用写一堆xml了

持圆角、背景颜色按下状态、背景图片按下状态、文字按下状态、选中状态、边框颜色及按下状态,再也不用写一堆xml了

图片

 

 

属性

 

    normalSolid                                    正常状态背景填充颜色

    pressedSolid                                   按下状态背景填充颜色

    stroke                                         边框颜色

    normalstroke                                   边框正常状态填充颜色

    pressedstroke                                  边框按下状态填充姿色

    roundButtonRadius                              button四个角弧度

    roundButtonLeftTopRadius                       button左上角弧度

    roundButtonLeftBottomradius                    button左下角弧度

    roundButtonRightTopRadius                      button右上角弧度

    roundButtonRightBottomradius                   button右下角弧度

    normalDrawable                                 正常状态背景图片

    pressedDrawable                                按下状态背景图片

    isSelected                                     是否支持button选中状态 与setSelected()配合使用

    normalTextColor                                正常状态文字的颜色

    selectedTextColor                              选中状态下文

 

 

xml中设置

 

xmlns:app="http://schemas.android.com/apk/res-auto"

 

<com.button.library.CustomButton

       android:layout_width="match_parent"

       android:layout_height="wrap_content"

       android:layout_marginTop="10dp"

       android:text="45弧度圆角按下效果文字变色Button"

       android:textColor="@color/color_ffffff"

       app:normalSolid="@color/color_ff0000"

       app:normalTextColor="@color/color_3f51b5"

       app:pressedSolid="@color/color_00ff00"

       app:roundButtonRadius="@dimen/radius_45"

       app:selectedTextColor="@color/color_ffffff" />

 

 

代码设置方法

 

/**

 * 设置Button背景

 *

 * @param normalSolid         正常状态背景填充颜色

 * @param pressedSolid        按下状态背景填充颜色

 * @param normalstroke        正常状态边框颜色填充

 * @param pressedstroke       按下状态边框颜色填充

 * @param roundButtonRadius   圆角弧度

 * @param isEnableSelected    是否打开选中状态

 */

public void setBackGround(int normalSolid, int pressedSolid, int normalstroke, int pressedstroke, int roundButtonRadius, boolean isEnableSelected);

 

 

public void setBackGround(int normalSolid, int pressedSolid, int stroke, int roundButtonRadius, boolean isEnableSelected)    

 

 

public void setBackGround(int normalSolid, int pressedSolid, int roundButtonRadius, boolean isEnableSelected)    

 

/**

 * 设置Button文字颜色

 *

 * @param normalTextColor       正常状态颜色

 * @param selectedTextColor     选中状态颜色

 */

public void setTextColor(int normalTextColor, int selectedTextColor) 

https://mp.weixin.qq.com/s/uiqr344GRF0qAkENrr3dzg

       

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