Pregunta

Java / Android Noob aquí, tengo un problema donde usar OntouchListener I cambia la variable x a x + 1 y eso funciona bien, pero cuando se libero, me gustaría que la X variable disminuya en el valor hasta que golpee cero, comoEntonces:

    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

     }

Ahora que funciona bien, mi problema viene cuando quiero que mi X continúe disminuyendo después de la liberación, pero como está bajo setontouchlistener, entonces no funciona. Tal vez algo como esto:

     public boolean onTouchFalse(View v){
          if(x>0){
              x * 0.9
          }
     }

o incluso algo como

     public boolean image.isOnScreen{
         if(x>0){
            x = x * 0.9
         }
     }

tl; DR: Estoy buscando algún tipo de oyente que pueda usar para depreciar mi x.

¿Hay un oyente o alguna clase que me estoy perdiendo?Gracias por todos y todos los Ayuda!

¿Fue útil?

Solución

    final Handler handler = new Handler();


    image.post( new Runnable() {
        @Override
        public void run() {

            x--;
            handler.postDelayed(this, 100);

        }
    });

** Tenga en cuenta que los 100 es cuánto tiempo entre cada resta (en Millisecs)

Otros consejos

No hay eventos táctiles si no está tocando la pantalla.Los eventos necesitan un gatillo, tal vez un temporizador pudiera ayudar.

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top