2013-02-14 57 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