达到的效果即按钮点击时颜色变化,再次点击颜色恢复,以此类推。视频效果如下所示,类似按钮选中的效果。
为达到这一效果,使用了setBackgroundColor这一函数修改按钮的背景颜色。这里设定初始背景色为白色,按下后为蓝色。
首先编写确定按钮位置、大小等ui信息的xml文件。
其中,本按钮的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;
}//取消
}
});