实习处在做页面的时候,自己想搞一个自定义view来试试,结果在给我的自定义view赋予点击效果的时候,我发现自己的自定义view虽然正常工作,但是ui没有变化,一般我们点击的时候,这个view的ui应该是会变化的。然后我就尝试使用selector,然后发现在自定义view上实现起来比较麻烦(多半是我能力不足-,-)思考了半天总算有了自己的思路。就是借助onTouchListener的ACTION_DOWN和ACTION_UP来操作,当DOWN的时候改变ui,UP的时候还原,如下。

logo1 = findViewById(R.id.logo1);
logo1.setOnTouchListener(new View.OnTouchListener() {
@Override
public boolean onTouch(View v, MotionEvent event) {
if(event.getAction() == MotionEvent.ACTION_DOWN){
logo1.setBackgroundColor(Color.parseColor("#B3B3B3"));
}else if(event.getAction() == MotionEvent.ACTION_UP){
logo1.setBackgroundColor(Color.parseColor("white"));
}
return true;
}
});