android - modernos - que es un beeper
Cómo deshabilitar el deslizamiento en un buscapersonas en Android (2)
Esta pregunta ya tiene una respuesta aquí:
Estoy creando una aplicación que contiene un paginador de visualización con pestañas que se pueden deslizar. Quiero hacer algunas operaciones dentro del paginador de visualización y en el momento de las operaciones quiero desactivar la vista de deslizamiento después de que las operaciones realizadas habiliten la vista de deslizamiento ¿alguien me puede decir cómo hacer esto y mi actividad se extendía a la actividad fragmento gracias de antemano
Prueba debajo de los métodos
Para deshabilitar la función de deslizar llamada
viewPager.beginFakeDrag();
Para habilitar la función de deslizar llamada
viewPager.endFakeDrag();
Crea una nueva clase que nombre a CustomViewPager
. La clase hereda de ViewPager
e incluye un nuevo método llamado setPagingEnabled
. Para habilitar / deshabilitar el deslizamiento, simplemente sobrescriba dos métodos: onTouchEvent
y onInterceptTouchEvent
. Ambos devuelven falso si la búsqueda está deshabilitada.
Aquí está el código completo:
package com.yourpackage;
import android.content.Context;
import android.support.v4.view.ViewPager;
import android.util.AttributeSet;
import android.view.MotionEvent;
public class CustomViewPager extends ViewPager {
private boolean enabled;
public CustomViewPager(Context context, AttributeSet attrs) {
super(context, attrs);
this.enabled = true;
}
@Override
public boolean onTouchEvent(MotionEvent event) {
if (this.enabled) {
return super.onTouchEvent(event);
}
return false;
}
@Override
public boolean onInterceptTouchEvent(MotionEvent event) {
if (this.enabled) {
return super.onInterceptTouchEvent(event);
}
return false;
}
public void setPagingEnabled(boolean enabled) {
this.enabled = enabled;
}
}
Luego, en su archivo layout.xml, reemplace las etiquetas <com.android.support.V4.ViewPager>
con las etiquetas <com.yourpackage.CustomViewPager>
como se muestra a continuación.
<com.yourpackage.CustomViewPager
android:id="@+id/photosViewPager"
android:layout_height="match_parent"
android:layout_width="match_parent" />
Ahora usa CustomViewPager
lugar de ViewPager
en tu actividad. Y eso es. Ahora, en cualquier momento para deshabilitar el deslizamiento, solo necesita llamar al método setPagingEnabled
con falso .
CustomViewPager mViewPager = (CustomViewPager) findViewById(R.id.pager);
mViewPager.setPagingEnabled(false);