7

ボックスの水平方向のリストをスワイプするために (互換パック v4 から) を使用してViewPagerいます。問題は、最初のページの 2 番目のボックスが(視覚的にも概念的にも) 2 ページ目の最初のボックスであることです。このようなもの:PageAdapter

ここに画像の説明を入力

私が今やっている方法はうまくいきます。ただし、スワイプの途中で同じボックスが2回表示される状況があるため(画像に示されているように)、これは少し奇妙になります。

「半分」のページだけをスワイプする方法はありますか?

編集:

ボックスは抽象化です。実際、各ボックスは でListViewあり、それぞれのアダプターを変更するだけで異なるページを作成しますListView

4

2 に答える 2

32
  1. ページごとに 1 つのフラグメントを作成する
  2. 複数のページを表示するには、PageAdapter で getPageWidth() をオーバーライドします。

コード:

@Override
public float getPageWidth(int position) {
    float nbPages = 2; // You could display partial pages using a float value
    return (1 / nbPages);
}
于 2013-03-28T06:21:24.993 に答える
2

はい、子の幅をページの半分として使用します。したがって、次の子を呼び出すスワイプは、ページの半分をスワイプします。幸運を!

編集: スケッチをもう一度確認し、1st、2nd、3rd... を別の子として実装してみてください。(GalleryViewとして反応すると仮定しながら、ほとんどのソリューションを予測します)

于 2012-05-13T22:03:40.170 に答える