androidstudio中的自定义按钮
创始人
2024-08-20 21:00:40
0

使用XML代码,自定义Button类和样式属性来实现自定义按钮。

首先,在XML布局文件中声明自定义Button类并设置样式属性,如下所示:


然后,在Java代码中实现自定义Button类,如下所示:

public class MyButton extends AppCompatButton {
    private int backgroundColor;
    private int textColor;
    private float cornerRadius;

    public MyButton(Context context) {
        super(context);
    }

    public MyButton(Context context, AttributeSet attrs) {
        super(context, attrs);
        init(context, attrs);
    }

    public MyButton(Context context, AttributeSet attrs, int defStyleAttr) {
        super(context, attrs, defStyleAttr);
        init(context, attrs);
    }

    private void init(Context context, AttributeSet attrs) {
        TypedArray ta = context.obtainStyledAttributes(attrs, R.styleable.MyButton);
        backgroundColor = ta.getColor(R.styleable.MyButton_backgroundColor, Color.BLUE);
        textColor = ta.getColor(R.styleable.MyButton_textColor, Color.WHITE);
        cornerRadius = ta.getDimension(R.styleable.MyButton_cornerRadius, 0);
        ta.recycle();

        setBackgroundColor(backgroundColor);
        setTextColor(textColor);
        setCornerRadius(cornerRadius);
    }

    public void setCornerRadius(float cornerRadius) {
        this.cornerRadius = cornerRadius;
        if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.LOLLIPOP) {
            setElevation(4);
        }
        GradientDrawable shape = new GradientDrawable();
        shape.setCornerRadius(cornerRadius);
        shape.setColor(backgroundColor);
        setBackground(shape);
    }
}

最后,在styles.xml中声明自定义样式属性,如下所示:


这样,在布局文件中使用MyButton类即可自定义按钮。

相关内容

热门资讯

透视计算!wpk透视辅助靠谱吗... 透视计算!wpk透视辅助靠谱吗,wpk作弊是真的吗,AI教程(原来存在有挂)1、wpk透视辅助靠谱吗...
透视讲解!wpk系统是否存在作... 透视讲解!wpk系统是否存在作弊行为,wpk透视插件,实用技巧(一贯真的有挂)wpk系统是否存在作弊...
透视脚本!wpk透视是真的假的... 透视脚本!wpk透视是真的假的,wpk作弊,曝光教程(一直有挂)1、每一步都需要思考,不同水平的挑战...
透视脚本!wpk插件,wpk透... 透视脚本!wpk插件,wpk透视怎么安装,介绍教程(确实真的是有挂);1、起透看视 wpk透视怎么安...
透视智能ai!wpk显示有作弊... 透视智能ai!wpk显示有作弊,wpk官网下载链接,透明教程(本来是有挂)1、在wpk官网下载链接a...
透视好友!wpk软件是真的吗,... 透视好友!wpk软件是真的吗,wpk可以作弊吗,攻略方法(总是存在有挂)1、下载好wpk软件是真的吗...
透视科技!wpk德州局透视,w... 透视科技!wpk德州局透视,wpk控制牌是真的吗,扑克教程(原来是真的有挂)运wpk控制牌是真的吗辅...
透视脚本!wpk官网下载链接,... 透视脚本!wpk官网下载链接,wpk模拟器,分享教程(确实存在有挂);1、wpk官网下载链接系统规律...
透视数据!如何下载wpk透视版... 透视数据!如何下载wpk透视版,wpk俱乐部是做什么的,新2025教程(果然是有挂)1、完成wpk俱...
透视数据!wpk辅助哪里买,w... 透视数据!wpk辅助哪里买,wpk透视辅助,细节方法(一直是真的有挂);1、首先打开wpk辅助哪里买...