一个进一步的问题
当点击第一个按钮变半透明的时候,再点击第二个按钮,怎样使第一个按钮恢复不透明状态?在MyonClinckListener里用if实现吗?
当点击第一个按钮变半透明的时候,再点击第二个按钮,怎样使第一个按钮恢复不透明状态?在MyonClinckListener里用if实现吗?
2016-09-19
其实这个问题挺好实现的,步骤如下:
首先通过一个外部类来实现button按钮的监听事件。
通过外部类的方法实现点击button1和button2,当点击button1和button2背景色都会变成半透明状态。
在button1中实现监听,并调用外部类的方法super.onClick(v);且将button2恢复不透明状态:LoginButton2.setAlpha(1);。
在button2中实现监听,并调用外部类的方法super.onClick(v);且将button1恢复不透明状态:LoginButton1.setAlpha(1);。
class MyOnClickListener implements OnClickListener{ @Override public void onClick(View v) { v.setAlpha(0.5f);//让所有使用当前外部类的点击事件都要做出一个动作,改变button的背景透明度 } } //在button中实现实现外部类,并调用外部类的方法super.onClick(v); LoginButton1.setOnClickListener(new MyOnClickListener(){ public void onClick(View v) { super.onClick(v); //当点击button1时,此时button1变半透明,button2不透明 LoginButton2.setAlpha(1); Toast.makeText(MainActivity.this,"我是button1", 2).show(); } }); LoginButton2.setOnClickListener(new MyOnClickListener(){ public void onClick(View v) { super.onClick(v); //当点击button2时,此时button2变半透明,button1恢复透明 LoginButton1.setAlpha(1); Toast.makeText(MainActivity.this,"我是button2", 2).show(); } }); }
举报