我有一个 relativelayout 并编写了 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()
关于android: onClickListener for relativelayout,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20788339/