我有三個按鈕,它們是屏幕上的圖像。當用戶按下按鈕區域內的屏幕時,按下按鈕的布爾值變爲true。這個效果很好,除了我有三個按鈕,所以當我按住兩個按鈕並提起一個按鈕時,所有按鈕都會轉向,就好像我從未按下它們一樣。我知道在哪裏解決這個問題,但我不知道如何解決。我該如何解決這個問題,如果我按下了兩個按鈕,當我從一個按鈕上擡起手指時,另一個按鈕不會變爲「未按下」,而是仍然會「按下」?未按下其他按鈕時保持按鈕狀態
boolean B1Pressed = false;
boolean B2Pressed = false;
boolean B3Pressed = false;
int len = touchEvents.size();
for (int i = 0; i < len; i++) {
TouchEvent event = touchEvents.get(i);
if (event.type == TouchEvent.TOUCH_DOWN) {
if (inBounds(event, 340,512,140,140)) {
B1Pressed = true;
Log.d("GameScreen", "Button 1 Pressed");
// Button 1
}
if (inBounds(event, 340,320,140,140)) {
B2Pressed = true;
Log.d("GameScreen", "Button 2 Pressed");
// Button 2
}
if (inBounds(event, 340,120,140,140)) {
B3Pressed = true;
Log.d("GameScreen", "Button 3 Pressed");
// Button 3
}
}
if (event.type == TouchEvent.TOUCH_UP) {
B1Pressed = false;
B2Pressed = false;
B3Pressed = false;
}
private boolean inBounds(TouchEvent event, int x, int y, int width,
int height) {
if (event.x > x && event.x < x + width - 1 && event.y > y
&& event.y < y + height - 1)
return true;
else
return false;
}
似乎有一個方法來做到這一點。無論如何,你的TOUCH_DOWN事件是否正確觸發? –
@AnudeepBulla是的所有TOUCH_DOWN事件都能正常工作。我認爲問題出在TOUCH_UP事件中,但我不知道如何設置 – user2712795
基本上,你想要一個帶有3個自定義的RadioButtons的'RadioGroup'形狀如按鈕。 –