Android Studio按钮点击变色效果实现 (点击变色,再次点击恢复)

        达到的效果即按钮点击时颜色变化,再次点击颜色恢复,以此类推。视频效果如下所示,类似按钮选中的效果。

        为达到这一效果,使用了setBackgroundColor这一函数修改按钮的背景颜色。这里设定初始背景色为白色,按下后为蓝色。

        首先编写确定按钮位置、大小等ui信息的xml文件。

<Button
        android:id="@+id/b0"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_marginStart="40dp"
        android:layout_marginTop="48dp"
        android:background="@color/white"
        android:text="概念"
        app:layout_constraintStart_toStartOf="parent"
        app:layout_constraintTop_toTopOf="parent" />

        其中,本按钮的id值为b0,按钮上的文字为“概念”。按钮的背景颜色为白色,即初始颜色。

        在对应的java文件中,设置一个标记量flag记录此时的按钮颜色状态。在这里设定flag初始值为0,按下后为1。

        通过id找到需要设置这一效果的按钮,并重写其点击事件的监听器。当点击事件触发之后,即刻判断flag的值。flag=0时说明此时按钮为初始状态,需要将其变色,故flag应置为1,颜色要改成蓝色。flag为=1时操作类似,flag置为0,颜色改成白色

        java实现的代码如下(我这里flag是一个数组,btn0的标记量是flag[0]):

int flag[]=new int[]{0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0};


        Button btn0=(Button)findViewById(R.id.b0);
        btn0.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View v) {
                if(flag[0]==0)
                {
                    btn0.setBackgroundColor(Color.parseColor("#00abf4"));
                    flag[0]=1;
                }//选中
                else
                {
                    btn0.setBackgroundColor(Color.parseColor("#ffffff"));
                    flag[0]=0;
                }//取消
            }
        });

  • 14
    点赞
  • 71
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值