andorid中自定义按钮形态并在代码中实现切换

本文介绍如何使用Android的Drawable资源文件来定义按钮的不同状态显示效果,包括正常状态下的蓝色背景和点击状态下的绿色背景,并展示了如何在代码中设置这些样式。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

首先在drawable中定义shap文件 

<?xml version="1.0" encoding="utf-8" ?>
<!--相当于做了一张圆角的图片,然后给button作为背景图片-->
<selector xmlns:android="http://schemas.android.com/apk/res/android">
    <!--默认情况下是一个蓝色背景的圆形-->
    <item android:state_window_focused="false">
        <shape android:shape="oval">
            <!--填充个颜色-->
            <solid android:color="@color/colorAccent" />
        </shape>
    </item>
    <!--单击时是一个绿色背景的圆形-->
    <item android:state_enabled="true">
        <!--填充颜色-->
        <shape android:shape="oval">
            <solid android:color="@color/colorPrimary" />
        </shape>
    </item>
</selector>

 代码中折这

if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.JELLY_BEAN) {
    btn1.setBackground(getResources().getDrawable(R.drawable.shape_left_btn_analysis_selected));
    btn1.setTextColor(Color.parseColor("#FFFFFF") );
    btn2.setBackground(getResources().getDrawable(R.drawable.shape_right_btn_analysis_unselected));
    btn2.setTextColor(Color.parseColor("#FF2FAEED"));
}

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值