使用寻呼机视图滑动页面的一部分

时间:2013-02-14 08:17:24

标签: android android-viewpager

我有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>

2 个答案:

答案 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" />

在这种情况下,您可以根据需要自定义布局,将ViewPagerSwipeyTabs作为两部分进行处理。

在您的情况下,我猜您可以将SwipeyTabsViewPager置于红色位置,就像在图像中一样,在绿色区域,您只需根据需要调整它们。

我发现这些链接可能会对您有所帮助。祝你好运。

答案 1 :(得分:1)

免责声明:我误读了你的帖子。将ViewPagerPagerTabStrip分开可能无效或可能需要其他方法。我会在这里留下答案,以防它无论如何都会有所帮助。

您可以通过将ViewPager嵌入到单独的片段中并在其下放置另一个独立片段来实现这一点,该片段不受ViewPager控制。

基本上,您的主要活动包含两个片段:一个包含ViewPager(包含更多片段),另一个包含您的固定视图。

要正确执行此操作,需要支持嵌套片段,这些片段仅适用于Android 4.2或最新支持库(修订版11)。

在为ViewPager实例化适配器时,请注意,您需要使用FragmentManager返回的getChildFragmentManager()