我有两个ViewPagers,其中一个是PagerTitleStrip。我想要做的是滚动一个ViewPagers,这将在同一时间镜像在顶部。任何人都有任何想法我会怎么做?
代码在这里:
<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:id="@+id/tab1"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical" >
<android.support.v4.view.ViewPager
android:id="@+id/pager2"
android:layout_width="fill_parent"
android:layout_height="200dp"
android:layout_marginBottom="-20dp" >
</android.support.v4.view.ViewPager>
<android.support.v4.view.ViewPager
android:id="@+id/pager"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:layout_alignParentBottom="true"
android:layout_below="@+id/pager2" >
<android.support.v4.view.PagerTitleStrip
android:id="@+id/pager_title_strip"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_gravity="top"
android:background="@drawable/meatb"
android:paddingBottom="2dp"
android:paddingTop="9dp"
android:textColor="#fff"/>
</android.support.v4.view.ViewPager>
答案 0 :(得分:1)
我没有找到为寻呼机设置“中间位置”的方法,因此在接收onDrag
事件时似乎无法设置它。
但是,部分解决方案是将滚动侦听器添加到一个mPager.setOnPageChangeListener(..)
并在发生这种情况时触发另一个页面转换:mPager2.setCurrentItem(mPage1.getCurrentItem())
这是部分解决方案,因为它不会同时发生,因为当页面已经滚动时(可能)会触发事件。
如果必须同时发生这种情况,那么您需要一个可以控制其绘图或查看像素定位的视图。
答案 1 :(得分:1)
只是意识到这个问题仍然没有答案,但这就是我如何运作的原因:
mViewPager2.setOnPageChangeListener(new OnPageChangeListener() {
public void onPageSelected(int arg0) {
}
public void onPageScrolled(int arg0, float arg1, int arg2) {
mViewPager.scrollTo(arg0*width + arg2, 0);
currentPos = arg0;
}
public void onPageScrollStateChanged(int arg0) {
mViewPager.setCurrentItem(currentPos,false);
}
});
mViewPager.setOnTouchListener(new OnTouchListener() {
public boolean onTouch(View arg0, MotionEvent arg1) {
return true;
}
});