我有一个 ViewPager,其中的页面包含 ListViews。一切正常,我的 viewPAger 和 ListViews 按预期工作:可以从一个页面滑动到另一个页面,并且 listviews 可以垂直滚动。
现在我想添加一个 PageTransformer 来平滑分页,并且我使用了谷歌文档中提供的ZoomOutPageTransformer。
现在,在视图之间滑动时我有一个不错的动画,但列表不再可滚动。
这是代码:
@Override
public void onViewCreated(View view, Bundle savedInstanceState) {
super.onViewCreated(view, savedInstanceState);
LayoutInflater inflater = LayoutInflater.from(getActivity());
viewPager = (ViewPager) view.findViewById(R.id.bookMenuPager);
viewPager.setPageTransformer(false, new ZoomOutPageTransformer());
pagerAdapter = new MenuPagerAdapter();
viewPager.setAdapter(pagerAdapter);
}
class MenuPagerAdapter extends PagerAdapter{
@Override
public int getCount() {
return 3; //change this as needed
}
@Override
public boolean isViewFromObject(View view, Object o) {
return view.equals( o );
}
@Override
public Object instantiateItem(ViewGroup collection, int position) {
LayoutInflater inflater = (LayoutInflater) collection.getContext().getSystemService(Context.LAYOUT_INFLATER_SERVICE);
if(position == 0){
if(!rootMenuAdded){
viewPager.addView(rootMenucont, 0);
rootMenuAdded = true;
}
return rootMenucont;
}else if(position == 1){
if(!level1MenuAdded){
viewPager.addView(level1MenuCont, 0);
level1MenuAdded = true;
}
return level1MenuCont;
}else if(position == 2){
if(!level2MenuAdded){
viewPager.addView(level2MenuCont, 0);
level2MenuAdded = true;
}
return level2MenuCont;
}
//we got a problem houston
return null;
}
}
和页面的布局:
<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:id="@+id/level1MenuCont"
android:layout_height="match_parent"
android:layout_width="match_parent"
>
<ListView
android:id="@+id/level1Menu"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:background="#f02bb6"
>
</ListView>
</RelativeLayout>
我该怎么做才能让我的列表按预期滚动?我的 ListView 中的 PageTransformer 中断了什么,使其不再滚动?这是一个已知的错误?
谢谢你的帮助 :)