바늘 그래픽을 회전하는 데 사용되는 onTouchEvents를 활성화하려면 내 액티비티에 이미지 버튼 (pushClick)을 설정하려고합니다. 안타깝게도 onTouchEvent는 이미지 버튼을 클릭했는지 여부에 관계없이 활성화되어 있습니다. 이미지 버튼을 클릭 할 때까지 onTouchEvent가 실행되지 않게하려면 어떻게합니까?onTouchEvent onClick 이벤트 시작
public void pushClick(View pushClick) {
switch (pushClick.getId()) {
case R.id.btn_push:
make(degrees);
}
}
@Override
public boolean onTouchEvent(MotionEvent event) {
switch (event.getAction()) {
case MotionEvent.ACTION_DOWN:
startRotating();
break;
case MotionEvent.ACTION_UP:
stopRotating();
break;
}
return super.onTouchEvent(event);
}
private void startRotating() {
returnRotating = false;
if (!keepRotating) {
keepRotating = true;
final Handler handler = new Handler();
handler.postDelayed(new Runnable() {
@Override
public void run() {
if (keepRotating) {
degrees = (degrees + 1) % 360;
make(degrees);
handler.postDelayed(this, INTERVAL);
}
}
}, INTERVAL);
}
}
private void stopRotating() {
keepRotating = false;
if (!returnRotating) {
returnRotating = true;
final Handler handler = new Handler();
handler.postDelayed(new Runnable() {
@Override
public void run() {
if (returnRotating) {
degrees = (degrees - 1) % 360;
make(degrees);
handler.postDelayed(this, INTERVAL);
}
}
}, INTERVAL);
}
}
이것은 실제로 매력처럼 작동했습니다! int를 사용하여 onTouchEvent에 if()를 추가하는 방법을 알아 내려고했지만 구문에 많은 문제가있었습니다. 엄청 고마워! – n00bdev