Necesito mi listview para ocultar y mostrar alternativas que toca. Por tanto, para ocultar de la vista de lista en el lado izquierdo de la pantalla estoy usando animación

 Animation animation = new TranslateAnimation(-100, 0,0, 0);
                            animation.setDuration(100);
                            animation.setFillAfter(true);
                            lv.startAnimation(animation);
                            lv.setVisibility(0);

y para mostrar la estoy usando

lv.setVisibility(View.VISIBLE);

Mi problema es la vista de lista no está recibiendo ocultar. Va a ir a izquierda y volviendo de nuevo. No sé cómo ocultar listview para el borde izquierdo completamente táctil. Por favor, ayudar en la consecución de este

OriginalEl autor AndroidOptimist | 2013-09-16

4 Comentarios

  1. 21
    //To animate view slide out from left to right
    public void slideToRight(View view){
    TranslateAnimation animate = new TranslateAnimation(0,view.getWidth(),0,0);
    animate.setDuration(500);
    animate.setFillAfter(true);
    view.startAnimation(animate);
    view.setVisibility(View.GONE);
    }
    //To animate view slide out from right to left
    public void slideToLeft(View view){
    TranslateAnimation animate = new TranslateAnimation(0,-view.getWidth(),0,0);
    animate.setDuration(500);
    animate.setFillAfter(true);
    view.startAnimation(animate);
    view.setVisibility(View.GONE);
    }
    
    //To animate view slide out from top to bottom
    public void slideToBottom(View view){
    TranslateAnimation animate = new TranslateAnimation(0,0,0,view.getHeight());
    animate.setDuration(500);
    animate.setFillAfter(true);
    view.startAnimation(animate);
    view.setVisibility(View.GONE);
    }
    
    //To animate view slide out from bottom to top
    public void slideToTop(View view){
    TranslateAnimation animate = new TranslateAnimation(0,0,0,-view.getHeight());
    animate.setDuration(500);
    animate.setFillAfter(true);
    view.startAnimation(animate);
    view.setVisibility(View.GONE);
    }
    Lo que yo quiero es que necesito que mi vista para ocultar desde el lado izquierdo del interior del lado izquierdo y por lo tanto me declaró valor negativo. este es pasar de un extremo al otro.

    OriginalEl autor dipali

  2. 3

    Si quieres ocultar su punto de Vista, el uso de

    View.INVISIBLE //constant value 4

    o

    View.GONE //constant value 8

    Usted está utilizando actualmente el valor 0 que es el valor de la constante de View.VISIBLE.

    Supongo que quieren ocultar el ListView después de la animación?

    Pero están mostrando el ListView directamente después de iniciar la animación. Echa un vistazo a AnimationListener y ocultar el ListView

    onAnimationEnd(...)

    Por ejemplo:

    //assuming the listview is currently visible
    Animation animation = new TranslateAnimation(-100, 0,0, 0);
                                animation.setDuration(100);
                                animation.setFillAfter(true);
    
    animation.setAnimationListener(new Animation.AnimationListener() {
                    @Override
                    public void onAnimationStart(Animation animation) {
    
                    }
    
                    @Override
                    public void onAnimationEnd(Animation animation) {
                         lv.setVisibility(View.GONE);
                    }
    
                    @Override
                    public void onAnimationRepeat(Animation animation) {
    
                    }
                });
    
    lv.startAnimation(animation);
    La vista es no ocultar completamente en lugar de que va a volver.La necesito para ocultar completamente en el interior del lado izquierdo.
    Entonces usted necesita para aumentar la distancia de la animación. Probablemente, a lo ancho de la pantalla.

    OriginalEl autor Philipp Jahoda

  3. 3

    Finalmente creo que la respuesta es muy simple modificación en coordinar valores. Y el código es

    Animation animation = new TranslateAnimation(0,-200,0, 0);
                        animation.setDuration(2000);
                        animation.setFillAfter(true);
                        listView1.startAnimation(animation);
                        listView1.setVisibility(0);

    Aquí estoy ajuste de valor negativo en el segundo coordinar causa de o se está moviendo twowards lado negativo lo que significa que la vista se mueve twowards lado izquierdo interior.

    OriginalEl autor AndroidOptimist

  4. 0

    para la comprensión general de lo que usted no sabe, he encontrado otro post que lo explica muy bien!! La Vista y su trabajo de animación un poco diferente como se podría esperar!

    https://stackoverflow.com/a/5888969/2074990

    Se trata de llenar. Necesito ocultar de la vista de toque

    OriginalEl autor bofredo

Dejar respuesta

Please enter your comment!
Please enter your name here