Java Android : OnTouchListener 릴리스?
-
21-12-2019 - |
문제
Java / Android Noob onTouchListener를 사용하는 것이 변수 x + 1을 변경하고 잘 작동하지만 릴리스 할 때 x 변수가 0이 곡선을 줄일 때까지 x 변수를 사용하고 싶습니다.그래서 :
Imageview image = (ImageView) findViewById(R.id.fgView);
image.setOnTouchListener(new View.OnTouchListener()
{
public boolean onTouch(View v, MotionEvent event)
{switch (event.getAction() & MotionEvent.ACTION_MASK)
{
case MotionEvent.ACTION_DOWN:
mode=1;
break;
case MotionEvent.ACTION_UP:
mode=2;
break;
case MotionEvent.ACTION_POINTER_UP:
mode2=2;
break;
case MotionEvent.ACTION_MOVE:
mode=1;
break;
case MotionEvent.ACTION_POINTER_DOWN:
mode2=1;
break;
}
}
if(mode==1){
x++;
}
if(mode==2){
x * 0.9
}
//mode2 is filler
}
.
이제는 잘 작동하므로 내 문제가 릴리스 후에 계속해서 감소 할 수있게하지만 SetonTouchListener에서는 작동하지 않습니다. 어쩌면 이와 같은 것 :
public boolean onTouchFalse(View v){
if(x>0){
x * 0.9
}
}
.
또는 심지어
public boolean image.isOnScreen{
if(x>0){
x = x * 0.9
}
}
.
tl; DR : 나는 x가 감가 상각하기 위해 사용할 수있는 일종의 청취자를 찾고 있습니다.
리스너가 있거나 일부 클래스가 누락 되었습니까?모든 도움을 주셔서 감사합니다!
해결책
final Handler handler = new Handler();
image.post( new Runnable() {
@Override
public void run() {
x--;
handler.postDelayed(this, 100);
}
});
.
** 100은 각 빼기 (밀리 초)
사이에 얼마나 오래되었는지에 유의하십시오.다른 팁
화면을 만지지 않으면 터치 이벤트가 없습니다.이벤트가 트리거가 필요합니다. 어쩌면 타이머가 도움이 될 수 있습니다.
제휴하지 않습니다 StackOverflow