2009-07-31 27 views
5

¿Hay alguna manera de que pueda ejecutar programáticamente un Fling en una vista de lista? Sé que hay un mono que hace todas estas cosas, pero eso requiere una conexión de computadora con adb etc. etc. Quiero hacerlo con mi aplicación en cualquier teléfono, sin mono.Programmatically Fling ListView Android

Gracias, Faisal

Respuesta

-1

Usted puede fingir con un anim (creo accelerate_decelerate_interpolator puede hacer el trabajo).

También parece que no hay soporte para el desplazamiento de su punto de vista por su propio:

public void scrollBy (int x, int y) 

mover la posición de enrollado de la vista. Esto causará una llamada a onScrollChanged (int, int, int, int) y la vista se invalidará.

Parameters 
x the amount of pixels to scroll by horizontally 
y the amount of pixels to scroll by vertically 
public void scrollTo (int x, int y) 

establecer la posición de enrollado de la vista. Esto causará una llamada a onScrollChanged (int, int, int, int) y la vista se invalidará.

 
Parameters 
x the x position to scroll to 
y the y position to scroll to 
+0

Hola, Lucas, tienes un fragmento de código, estoy bastante confundido. Gracias, Faisal –

+1

Hola, he agregado más información que te ayudará. –

+0

¡Gracias, hombre, no sabía de esto! –

2

Hay dos métodos para "desplazar con suavidad" en lugar de saltar a una posición.

Salida http://developer.android.com/reference/android/widget/ScrollView.html

para smoothScrollBy() y smoothScrollTo().

Espero que esto ayude.

+0

Usted se está refiriendo a la vista de desplazamiento y la pregunta era para una vista de lista. Listview también tiene algunas características interesantes: smootScrollToPosition y smootScrollByOffset. Sin embargo, estos solo están disponibles en los niveles 8 y 11 respectivamente. http://developer.android.com/reference/android/widget/ListView.html#smoothScrollToPosition(int) –

1
private AnimationSet set; 

public void onClick(View v) { 
    if(v.getId() == R.id.pullbutton){ 
     artListview.setVisibility(View.INVISIBLE); 
     if(set == null){ 
      set = new AnimationSet(true); 
      Animation animation = new AlphaAnimation(0.0f, 1.0f); 
      animation.setDuration(100); 
      set.addAnimation(animation); 

      animation = new TranslateAnimation(
        Animation.RELATIVE_TO_SELF, 0.0f, 
        Animation.RELATIVE_TO_SELF, 0.0f,    
        Animation.RELATIVE_TO_SELF, -1.0f, 
        Animation.RELATIVE_TO_SELF, 0.0f 
      ); 
      animation.setDuration(1000); 
      set.addAnimation(animation); 
     } 
     showPullDownSectionList(); 
    } 

} 


public void showPullDownSectionList() { 
    flipper = (ViewFlipper) findViewById(R.id.ViewFlipper01); 
    flipper.setVisibility(View.VISIBLE); 
    setLayoutAnim_slidedownfromtop(flipper); 
} 

public void setLayoutAnim_slidedownfromtop(ViewFlipper flipper) { 
    LayoutAnimationController controller = 
     new LayoutAnimationController(set, 0.25f); 
    flipper.setLayoutAnimation(controller); 

}