2013-02-14 30 views
3

我有ViewPagerPagerTabStrip,当从页面滑动到另一页面时,寻呼机和标签都将一起移动。 (如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

在内容红色区域时,刷卡(在面积的实际变化)的用户将能够左/右轻扫只? – Luksprog 2013-02-17 09:46:00

+0

@Luksprog是的,只是红色区域,如果用户在绿色区域滑动,则不会发生变化。 – IBRA 2013-02-17 09:50:00

回答

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

免责声明:我误解你的职位。将ViewPagerPagerTabStrip分开可能无效或可能需要其他方法。无论如何,我会在这里留下答案。

您可以通过将ViewPager嵌入到一个单独的片段中,并将另一个独立片段放置在下面,而不受ViewPager控制。

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

要做到这一点,这需要支持嵌套片段,它只能在Android 4.2或其他最新的支持库(修订版本11)上使用。

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

+0

应用程序应该在2.3.3及更高版本上工作。但我会尝试你的建议。并感谢您的帮助。 – IBRA 2013-02-14 08:25:44

+0

@IbrahimSwaiss Android 2.3.3应该不会成为支持库的问题。拆分布局(PagerTabStrip分离)可能会很棘手。 – sstn 2013-02-14 08:26:48

+0

感谢您的帮助,即使您的答案没有解决问题,我认为它会指导我一个很好的解决方案,并再次感谢:) – IBRA 2013-02-14 08:29:27