我有ViewPager
PagerTabStrip
,当从页面滑到另一个页面时,寻呼机和标签都会一起移动。 (比如google paly)
工作正常。现在所有的页面都有共同的数据,一部分在刷卡时会发生变化,所以我不想刷整个页面,只是要改变的区域。
正如您在下图中看到的那样,只有在刷卡页面时红色区域才会生效,绿色区域不会移动。
我搜索了很多,但我找不到任何有用的东西,任何帮助都会受到赞赏。
viewpager代码:
<android.support.v4.view.ViewPager
android:id="@+id/pager"
android:layout_width="match_parent"
android:layout_height="match_parent">
<android.support.v4.view.PagerTabStrip
android:id="@+id/pager_title_strip"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_gravity="top"
android:background="#FFFFFF"
android:textColor="#003366"
android:paddingTop="4dp"
android:paddingBottom="4dp"/>
</android.support.v4.view.ViewPager>
答案 0 :(得分:2)
使用swipeyTabs
就是答案。
使用PagerTabStrip
时的问题是PagerTabStrip
将位于ViewPager
标记内,请参阅以下代码:
<android.support.v4.view.ViewPager
android:id="@+id/pager"
android:layout_width="match_parent"
android:layout_height="match_parent">
<android.support.v4.view.PagerTabStrip
android:id="@+id/pager_title_strip"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_gravity="top"
android:background="#FFFFFF"
android:textColor="#003366"
android:paddingTop="4dp"
android:paddingBottom="4dp"/>
</android.support.v4.view.ViewPager>
所以你不能把它们彼此分开。 但是当使用SwipeyTabs时,每个标签将作为一个单独的部分,请参阅以下代码:
<net.peterkuterna.android.apps.swipeytabs.SwipeyTabs
android:id="@+id/swipeytabs"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
swipeytabs:bottomBarColor="#ff96aa39"
swipeytabs:bottomBarHeight="2dip"
swipeytabs:tabIndicatorHeight="3dip"
android:background="#ff3b3b3b"/>
<android.support.v4.view.ViewPager
android:id="@+id/viewpager"
android:layout_width="fill_parent"
android:layout_height="0px"
android:layout_weight="1" />
在这种情况下,您可以根据需要自定义布局,将ViewPager
和SwipeyTabs
作为两部分进行处理。
在您的情况下,我猜您可以将SwipeyTabs
和ViewPager
置于红色位置,就像在图像中一样,在绿色区域,您只需根据需要调整它们。
我发现这些链接可能会对您有所帮助。祝你好运。
答案 1 :(得分:1)
免责声明:我误读了你的帖子。将ViewPager
与PagerTabStrip
分开可能无效或可能需要其他方法。我会在这里留下答案,以防它无论如何都会有所帮助。
您可以通过将ViewPager
嵌入到单独的片段中并在其下放置另一个独立片段来实现这一点,该片段不受ViewPager
控制。
基本上,您的主要活动包含两个片段:一个包含ViewPager
(包含更多片段),另一个包含您的固定视图。
要正确执行此操作,需要支持嵌套片段,这些片段仅适用于Android 4.2或最新支持库(修订版11)。
在为ViewPager
实例化适配器时,请注意,您需要使用FragmentManager
返回的getChildFragmentManager()
。