我有一个相对布局,并编码了 onTouchListener
以突出显示背景,如下所示:
relative3.setOnTouchListener(new OnTouchListener()
{
@Override
public boolean onTouch(View arg0, MotionEvent event)
{
if(event.getAction()==MotionEvent.ACTION_DOWN )
{
relative3.setBackgroundColor(getResources().getColor(R.color.tran_grey));
}
if((event.getAction()==MotionEvent.ACTION_UP || event.getAction()==MotionEvent.ACTION_CANCEL))
{
relative3.setBackgroundColor(getResources().getColor(android.R.color.transparent));
}
return true;
}
});
并对
onClick
执行操作 relative3.setOnClickListener(new View.OnClickListener()
{
@Override
public void onClick(View v)
{
custom_toast("Redirecting...");
}
});
问题:
相对布局可以在
ACTION_DOWN
上显示突出显示,并在 ACTION_UP
上变回透明。然而,它被点击, toast 根本没有显示为编码。怎么可能修改呢?谢谢!
最佳答案
确保布局具有 android:clickable="true"
属性
进行颜色更改的正确方法是使用具有按下和正常状态的背景可绘制 xml。如果您在代码中执行此操作,请使用 getActionMasked() 而不是 getAction()