frmLayout.setPadding(Math.round(event.getX() - 20), 0, 0, 0);
if(event.getX()>=300)
{
frmLayout.setPadding(20, 100, 0, 0);
}//giving minimum padding
}
switch(event.getAction())
{
case 0:
Toast.makeText(MainActivity.this, "send Function "+event.getAction(), Toast.LENGTH_SHORT).show();
// showing toast multiple yimes here
break;
}
if(event.getX()<=20)//give layout padding always x=20,y=100
{
frmLayout.setPadding(20, 100, 0, 0);
}
答案 0 :(得分:0)
[编辑]
我相信案例0会检查按下的手势何时开始。因此,只要触摸屏幕,就会创建一个Toast消息。
因此修复将使用布尔标志在开关内部使用条件。
private boolean showToast = true; //Global var
switch (event.getAction()){
case 0:
if(showToast && event.getX() >= 200){
Toast.makeText(MainActivity.this, "send Function "+event.getAction(), Toast.LENGTH_SHORT).show();
showToast = false; //This will stop the condition being met the second time
break;
}
}
我还没有对此进行测试,但我猜这会解决您的问题。