2011-06-20 15 views
5

Estoy intentando crear una galería personalizada para deshabilitar el desplazamiento. Tengo el siguiente de esta: how to disable gallery view scrollingAndroid Galería personalizada para desactivar el desplazamiento

public class MyGallery extends Gallery{ 


public MyGallery(Context context, AttributeSet attrs) { 
    super(context, attrs); 
} 

@Override 
public boolean onFling(MotionEvent e1, MotionEvent e2, float velocityX, float velocityY){ 
    if (isSelected()) 
     return true; 
    else return super.onFling(e1, e2, velocityX, velocityY); 
    } 

} 

no parece estar funcionando. ¿Qué estoy haciendo mal?

+0

¿Alguna vez descubrió esto? –

Respuesta

2

Observe la cláusula if (isSelected()) en el ejemplo, es posible que desee omitir eso y devolver true incondicionalmente, evitando por completo la implementación heredada.

Anulación onFling previene lanzamientos pero no afecta el desplazamiento normal, con los dedos hacia abajo. Para hacer eso, intente también anular onScroll y devolver inmediatamente verdadero desde allí.

Si eso tampoco funciona, también puede anular onTouchEvent y filtrar eventos táctiles allí.

0

Tengo uso CustomListview en Linearlayout. y deshabilite el desplazamiento utilizando el siguiente código

public void enableDisableView(View view, boolean enabled) { 
     view.setEnabled(enabled); 

     if (view instanceof ViewGroup) { 
      ViewGroup group = (ViewGroup)view; 

      for (int idx = 0 ; idx < group.getChildCount() ; idx++) { 
       enableDisableView(group.getChildAt(idx), enabled); 
      } 
     } 
    } 
Cuestiones relacionadas