Czy istnieje sposób blokowania przewijania w pionie ListView podczas przewijania elementu, który jest ViewPager? A może zmienić poziomą czułość przewijania ViewPagera?Wyłącz ListView Przewijanie podczas przesuwania ViewPager
Dzięki.
OSTATNIA EDYCJA
Oto mój aktualizowane rozwiązanie. Dzięki za twoje odpowiedzi, Masoud Dadashi, twoje komentarze w końcu sprawiły, że wymyśliłem rozwiązanie mojego problemu.
Oto mój zwyczaj klasa ListView:
public class FolderListView extends ListView {
private float xDistance, yDistance, lastX, lastY;
// If built programmatically
public FolderListView(Context context) {
super(context);
// init();
}
// This example uses this method since being built from XML
public FolderListView(Context context, AttributeSet attrs) {
super(context, attrs);
// init();
}
// Build from XML layout
public FolderListView(Context context, AttributeSet attrs, int defStyle) {
super(context, attrs, defStyle);
// init();
}
@Override
public boolean onInterceptTouchEvent(MotionEvent ev) {
switch (ev.getAction()) {
case MotionEvent.ACTION_DOWN:
xDistance = yDistance = 0f;
lastX = ev.getX();
lastY = ev.getY();
break;
case MotionEvent.ACTION_MOVE:
final float curX = ev.getX();
final float curY = ev.getY();
xDistance += Math.abs(curX - lastX);
yDistance += Math.abs(curY - lastY);
lastX = curX;
lastY = curY;
if (xDistance > yDistance)
return false;
}
return super.onInterceptTouchEvent(ev);
}
}
spojrzeć na tym stanowisku http://stackoverflow.com/questions/7900860/viewpager-in -a-listview-how-to-lock-the-scrolling-axis –
dzięki, zajrzę w to. –