如何使用ViewPager作为列表项创建Android应用程序?

时间:2014-03-11 09:26:08

标签: android android-layout android-listview android-fragments

我想创建一个显示ListView的Android应用程序,列表项应该是ViewPager。每个列表项(ViewPager)都应该有一个从Internet获取的图像列表。

1 个答案:

答案 0 :(得分:0)

因为您在垂直触摸手势视图中有水平触摸手势,如果您只是将ViewPager放在ListView内,用户体验就会很差。我在某个地方发现了这个,我使用它,效果很好。如果你将ViewPager放在其中,那么用户体验就会很好。

public class ViewPagerCompatibleListView extends ListView {
    private float xDistance, yDistance, lastX, lastY;

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

    @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);
    }
}