如何通过滑动按钮来聚合按钮的文本?
问题描述:
我有一个活动充满了屏幕上的按钮,每个人都有字符文字 类似于:[A] [B] [C]等我需要编码,当用户触摸并滑动他/她的手指在屏幕上,它应该聚合每个触摸按钮的文本,样本结果应该是:A + B + C = ABC。我写了一些代码,但它不能按预期工作。在我的代码中,我保留了按钮数组按钮来识别当时哪个按钮被触摸,但此代码仅用于第一次触摸,它是Action_Down,它实现了我触摸的第一个按钮,当我滑动我的我的手指无法获得其他按钮文本。 ,那么你的建议是什么?请帮助 。 。如何通过滑动按钮来聚合按钮的文本?
public boolean onTouch(View v, MotionEvent event) {
switch(event.getAction()){
case MotionEvent.ACTION_DOWN:
for(int i=0;i<buttons.size();i++){
if(buttons.elementAt(i).getId()==v.getId()){
text+=buttons.elementAt(i).getText();
break;
}
}
break;
case MotionEvent.ACTION_MOVE:
for(int i=0;i<buttons.size();i++){
if(buttons.elementAt(i).getId()==v.getId()){
text+=buttons.elementAt(i).getText();
break;
}
}
case MotionEvent.ACTION_UP:
Toast.makeText(context,text,Toast.LENGTH_SHORT).show();
text="";
break;
}
return false;
}
答
我猜你觉得多点触摸,但你的代码不是。
对于多点触控,您需要使用ACTION_POINTER_UP/DOWN。但并非所有设备都支持多点触控。
对于非多点触控,您需要更复杂的处理。按钮可能被选中。连接必须明确完成。