Java Android:OnTouchListenerリリース?
-
21-12-2019 - |
質問
Java / Android Noobここでは、ontouchListenerを使用すると、変数xをx + 1に変更し、それが正常に動作している場合は、そのため:
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
}
.
今はうまくいって、私の問題は私のXがリリース後に減少し続けることができますが、それは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は、各減算の間(Millisecs)の間の期間です
他のヒント
画面に触れていない場合は、タッチイベントはありません。イベントはトリガーを必要とします、おそらくタイマーが助けることができます。
所属していません StackOverflow