2016-04-02 5 views
2

In meiner Android-Anwendung habe ich einen Viewpager, die eine Liste von ImageView haben. Jede Ansicht kann gezeichnet werden. Wenn ich darauf zeichne, kann ich vom viewpager noch zur nächsten Ansicht wischen. Wie kann ich das Paging deaktivieren, während der Benutzer beginnt, auf ein ImageView zu zeichnen?Android: Wie Scrollen auf dem Viewpager zu deaktivieren

+1

http://stackoverflow.com/a/7814054/3790150 – saeed

Antwort

4

Fügen Sie dies als Klasse hinzu und verwenden Sie es in XML anstelle Ihres Viewpager-Tags. Im Grunde machen wir einen angepassten viewpager, in dem wir das wischbare Verhalten deaktivieren, indem wir false an onInterceptTouchEvent und OnTouchEvent zurückgeben.

public class NonSwipeableViewPager extends ViewPager { 

    public NonSwipeableViewPager(Context context) { 
     super(context); 
    } 

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

    @Override 
    public boolean onInterceptTouchEvent(MotionEvent event) { 
     // Never allow swiping to switch between pages 
     return false; 
    } 

    @Override 
    public boolean onTouchEvent(MotionEvent event) { 
     // Never allow swiping to switch between pages 
     return false; 
    } 
} 
+0

es funktionieren, aber ich wollte die Seite in bestimmten Bedingung streichen. Dort habe ich eine if-Anweisung in diese beiden Event-Funktionen platziert und true zurückgegeben, aber es funktioniert nicht – LittleFunny

Verwandte Themen