如何以编程方式更改Android按钮的Alpha值?

问题描述:

我想这样做,当我按住按钮的alpha值减少。 当我释放它时,它将alpha值设置回1并执行操作。 此按钮已编程。如何以编程方式更改Android按钮的Alpha值?

你会如何检查发布是否在按钮上? 事情是这样的: btn.setOnTouchListener(new OnTouchListener() { @Override public boolean onTouch(View view, MotionEvent event) { if (event.getAction() == MotionEvent.ACTION_DOWN) { btn.setAlpha(0.7f); } else if (event.getAction() == MotionEvent.ACTION_UP) { btn.setAlpha(0.85f); if (btn.isFocused()) { // Do something here } } return true; }); }

+0

你应该尝试使用'onTouch'事件,然后找到它是'MotionEvent.ACTION_UP'或'MotionEvent.ACTION_DOWN'并执行你的操作 – Panther 2014-12-19 05:36:04

尝试使用按钮的触摸事件对其执行您的操作类似 东西下面

btn.setOnTouchListener(新OnTouchListener(){

@Override 
    public boolean onTouch(View arg0, MotionEvent arg1) { 
     if (arg1.getAction()==MotionEvent.ACTION_DOWN) { 
     // your down operations 
     //in your case btn.setAlpha() here 
     } 
     else if (arg1.getAction()==MotionEvent.ACTION_UP){ 
     // your up operations 
     //in your case btn.setAlpha() here 

     } 
    } 
} 
+0

你还会如何检查发布时用户是否还在按钮上? 与代码编辑原始帖子。 – nadnav 2014-12-19 05:52:05

+0

检查触摸位置和按钮视图的边界。如果位置在里面,那么你知道它的内部:P – Panther 2014-12-19 06:00:03