2013-01-11 114 views
1

我想要实现两个垂直列表视图A和B,以便一次只能看到其中的一个,而水平滚动显示下一个列表。水平滑过不同列表视图

我希望滚动是平滑的,即当您触摸并移动您的手指时,当前列表随之移动,新列表在画廊中移动图像时移动...效果。

我已经能够滚动bw的意见和翻译动画的使用能够显示平滑的过渡,但我想实现的是像画廊一样的效果。

所以水平滚动开关bw差异列表视图和垂直滚动可用于滚动列表。

回答

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; 
    } 
} 
+0

将verticall滚动在ListView工作,如果我用的...还是让我chkout – pvn

+2

它将工作。即使Google Play已经实现了这一点,也是如此。我的意思是Android上的PlayStore应用程序 – Enigma

+0

对getItem()的疑问....不会有返回类型错误,因为指定的ret类型是Fragment,而返回的obj是mMyListViewFragment1和mMyListViewFragment2。 – pvn