3

ページから別のページにスワイプすると、ページャーとタブの両方が一緒に移動しViewPagerます。PagerTabStrip(グーグルペイリーのように)

それはうまくいっています。現在、すべてのページに共通のデータがあり、スワイプすると一部が変更されるため、ページ全体をスワイプするのではなく、変更される領域だけをスワイプします。

次の画像でわかるように、ページをスワイプすると赤い領域だけが影響を受け、緑の領域は移動しません。

私はたくさん検索しましたが、役に立つものは何も見つかりませんでした。

ビューページャーのコード:

<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>
4

2 に答える 2

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この場合、とを 2 つの部分として処理することで、必要に応じてレイアウトをカスタマイズできますSwipeyTabs

あなたの場合、画像のように赤の位置にSwipeyTabsとを配置できると思いますViewPager。緑の領域では、必要に応じて調整する必要があります。

あなたに役立つかもしれないこれらのリンクを見つけました。頑張ってください。

于 2013-02-18T11:43:18.787 に答える
1

免責事項:私はあなたの投稿を読み間違えました。ViewPagerからの分離はPagerTabStrip機能しないか、別のアプローチが必要になる場合があります。とにかく役立つかもしれない場合に備えて、ここに答えを残しておきます。

これは、を別のフラグメントに埋め込み、ViewPagerその下に別の独立したフラグメントを配置することで実現できます。これは、によって制御されませんViewPager

基本的に、メインアクティビティは2つのフラグメントで構成されます。1つはViewPager(より多くのフラグメントを含む)を含み、もう1つは固定ビューを含みます。

これを適切に行うには、ネストされたフラグメントのサポートが必要です。これは、Android 4.2または最新のサポートライブラリ(リビジョン11)でのみ使用できます。

のアダプタをインスタンス化するときは、によって返されViewPagerたを使用する必要があることに注意してください。FragmentManagergetChildFragmentManager()

于 2013-02-14T08:20:31.037 に答える