水平滑动不同的列表视图

时间:2013-01-11 06:34:49

标签: android listview gallery

我想实现两个垂直列表视图A和B,这样一次只能看到其中一个,水平滚动显示下一个列表。

我想让滚动变得平滑,即当您触摸并移动手指时,当前列表会移动并且新列表移动...在图库中移动图像时的效果。

我已经能够滚动视图并使用翻译动画我可以显示平滑过渡,但我想要实现的是画廊效果。

因此水平滚动切换bw差异列表视图和垂直滚动可用于滚动列表。

1 个答案:

答案 0 :(得分:3)

您可以使用ViewPager来完成此任务。 http://developer.android.com/reference/android/support/v4/view/ViewPager.html

main.xml中

<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:orientation="vertical"
    android:layout_width="match_parent"
    android:layout_height="match_parent">

    <android.support.v4.view.ViewPager
        android:id="@+id/pager"
        android:layout_width="match_parent"
        android:layout_height="0dp"
        android:layout_weight="1" />

</LinearLayout>

MainActivity.java

....

onCreate()...
 mViewPager = (ViewPager) findViewById(R.id.pager);

            mViewPager.setAdapter(new HomePagerAdapter(getSupportFragmentManager()));
//If your Activity implements ViewPager.OnPageChangeListener
  //          mViewPager.setOnPageChangeListener(this);
...

private class HomePagerAdapter extends FragmentPagerAdapter {
    public HomePagerAdapter(FragmentManager fm) {
        super(fm);
    }

    @Override
    public Fragment getItem(int position) {
        switch (position) {
            case 0:
                return (mMyListViewFragment1 = new MyListViewFragment());

            case 1:
                return (mMyListViewFragment2 = new MyListViewFragment());

        }
        return null;
    }

    @Override
    public int getCount() {
        return 2;
    }
}