¿Cómo desactivar y activar el desplazamiento en Android ScrollView?

Soy un desarrollador android. También quiero usar un ScrollView.This ScrollView necesidad de algún tiempo deshabilitar el desplazamiento y algún tiempo permitir el desplazamiento. Pero no puedo deshabilitar el desplazamiento. Cómo implementarlo. Por favor, ayude a me.I También tratar de usar el código de algunos como

fullparentscrolling.setHorizontalFadingEdgeEnabled(false); fullparentscrolling.setVerticalFadingEdgeEnabled(false); 

o

  fullparentscrolling.setEnabled(false); 

Pero no funciona.

Prueba de esta manera

Crea tu CustomScrollview de esta manera

 import android.content.Context; import android.util.AttributeSet; import android.view.MotionEvent; import android.widget.ScrollView; public class CustomScrollView extends ScrollView { private boolean enableScrolling = true; public boolean isEnableScrolling() { return enableScrolling; } public void setEnableScrolling(boolean enableScrolling) { this.enableScrolling = enableScrolling; } public CustomScrollView(Context context, AttributeSet attrs, int defStyle) { super(context, attrs, defStyle); } public CustomScrollView(Context context, AttributeSet attrs) { super(context, attrs); } public CustomScrollView(Context context) { super(context); } @Override public boolean onInterceptTouchEvent(MotionEvent ev) { if (isEnableScrolling()) { return super.onInterceptTouchEvent(ev); } else { return false; } } @Override public boolean onTouchEvent(MotionEvent ev) { if (isEnableScrolling()) { return super.onTouchEvent(ev); } else { return false; } } } 

En tu xml

// "com.example.demo" reemplaza con tu nombre de paquete

 <com.example.demo.CustomScrollView android:id="@+id/myScroll" android:layout_width="match_parent" android:layout_height="wrap_content" > </com.example.demo.CustomScrollView> 

En su actividad

 CustomScrollView myScrollView = (CustomScrollView) findViewById(R.id.myScroll); myScrollView.setEnableScrolling(false); // disable scrolling myScrollView.setEnableScrolling(true); // enable scrolling 

Puse el listener del tacto para la visión de la voluta y en el método del onTouch i returend verdadero. Eso hizo el truco para mí.

 mScrollView.setOnTouchListener( new OnTouchListener() { @Override public boolean onTouch(View v, MotionEvent event) { return true; } }); 

Mejor para todos

No puede deshabilitar el desplazamiento de ScrollView. Tendría que extender a ScrollView y reemplazar el método onTouchEvent para devolver false cuando alguna condición coincide.

Puede modificar ScrollView de la siguiente manera para deshabilitar el desplazamiento

 class LockableScrollView extends ScrollView { ... // true if we can scroll (not locked) // false if we cannot scroll (locked) private boolean mScrollable = true; public void setScrollingEnabled(boolean enabled) { mScrollable = enabled; } public boolean isScrollable() { return mScrollable; } @Override public boolean onTouchEvent(MotionEvent ev) { switch (ev.getAction()) { case MotionEvent.ACTION_DOWN: // if we can scroll pass the event to the superclass if (mScrollable) return super.onTouchEvent(ev); // only continue to handle the touch event if scrolling enabled return mScrollable; // mScrollable is always false at this point default: return super.onTouchEvent(ev); } } @Override public boolean onInterceptTouchEvent(MotionEvent ev) { // Don't do anything with intercepted touch events if // we are not scrollable if (!mScrollable) return false; else return super.onInterceptTouchEvent(ev); } } 

Para la referencia furthe aquí es la solución completa en desbordamiento de la pila también! ¿Deshabilitar ScrollView mediante programación?

Marca esto como respuesta para ayudar a otros .. gracias

Pruebe esto, esto desactivará la función de desplazamiento.

 scrollview.setEnabled(false); 
  • NestedScrollView desplazamiento con recyclerview
  • Menú Ribbon de Android con fragmentos
  • ¿Cómo puedo configurar la imagen de fondo con picasso en el código
  • Hacer scrollbars flash de código (como iOS flashScrollIndicators)
  • Desplazamiento con varios ListViews para Android
  • LinearLayout achartengine El gráfico no se muestra en ScrollView
  • Horizontal RecyclerView interior vertical ScrollView
  • Cómo agregar dos listview en scrollview
  • NestedScrollView (NSV) en CoordinatorLayout (CL): NSV no en la parte superior cuando se carga
  • Evitar que una vista anidada en un ScrollView se desplace fuera de la pantalla
  • El teclado suave no activa el desplazamiento en un ScrollView
  • FlipAndroid es un fan de Google para Android, Todo sobre Android Phones, Android Wear, Android Dev y Aplicaciones para Android Aplicaciones.