ここに私がフォワードとリバースに使用するコードがあります
// Drive forward
forward_button.setOnTouchListener(new View.OnTouchListener() {
@Override
public boolean onTouch(View v, MotionEvent event) {
if ((event.getAction() == MotionEvent.ACTION_DOWN) | (event.getAction() == MotionEvent.ACTION_MOVE)) {
forward_button.setPressed(true);
Arduino = (byte) (Arduino | 16);
write(Arduino);
return true;
}else if (event.getAction() == MotionEvent.ACTION_UP) {
forward_button.setPressed(false);
Arduino = (byte) (Arduino & 236);
write(Arduino);
return true;
}
forward_button.setPressed(false);
return false;
}
});
// Back up
reverse_button.setOnTouchListener(new View.OnTouchListener() {
@Override
public boolean onTouch(View v, MotionEvent event) {
if ((event.getAction() == MotionEvent.ACTION_DOWN) | (event.getAction() == MotionEvent.ACTION_MOVE)) {
reverse_button.setPressed(true);
Arduino = (byte) (Arduino | 32);
write(Arduino);
return true;
}else if (event.getAction() == MotionEvent.ACTION_UP) {
reverse_button.setPressed(false);
Arduino = (byte) (Arduino & 220);
write(Arduino);
return true;
}
reverse_button.setPressed(false);
return false;
}
});
次のような左右の機能に同じ方法を使用することを考えています。
left_button.setOnTouchListener(new View.OnTouchListener() {
@Override
public boolean onTouch(View v, MotionEvent event) {
if ((event.getAction() == MotionEvent.ACTION_DOWN) | (event.getAction() == MotionEvent.ACTION_MOVE)) {
left_button.setPressed(true);
Arduino = (byte) (Arduino | 8);
write(Arduino);
return true;
}else if (event.getAction() == MotionEvent.ACTION_UP) {
left_button.setPressed(false);
Arduino = (byte) (Arduino & 244);
write(Arduino);
return true;
}
left_button.setPressed(false);
return false;
}
});
これはそれを行う1つの方法ですか??