Android マーケット/Google ミュージックでは、ViewPager
.
これがどのように行われるか考えていますか?ビューが画面の幅全体を占める必要があるため、実際のフラグメント ビューにマージン/パディングを追加しても機能しません。「ギャップ」は、ViewPager をスワイプしたときにのみ表示されます。
Android マーケット/Google ミュージックでは、ViewPager
.
これがどのように行われるか考えていますか?ビューが画面の幅全体を占める必要があるため、実際のフラグメント ビューにマージン/パディングを追加しても機能しません。「ギャップ」は、ViewPager をスワイプしたときにのみ表示されます。
サポート パッケージ r4 では、次のメソッドを使用できます。
setPageMargin(int marginPixels)
setPageMarginDrawable(Drawable)
setPageMarginDrawable(int)
ViewPagerクラスで。
これが XML に同等のものがない理由がわかりません :-(
ディップユニットを使用する必要がある場合は、次の方法を使用できます。
public static int convertDip2Pixels(Context context, int dip) {
return (int)TypedValue.applyDimension(TypedValue.COMPLEX_UNIT_DIP, dip, context.getResources().getDisplayMetrics());
}
これがViewPagerとページの余白を持っている人に役立つことを願っています。
ViewPager をCardViewにしたかったのですが、 viewpagerページ間のパディングとマージンに問題がありました。setPageMargin はまったく機能しませんでした。私は以下を使用しなければなりませんでした:
int pagerPadding = 16;
pager.setClipToPadding(false);
pager.setPadding(pagerPadding, 0, pagerPadding, 0);
これにより、ページを非常に近づけることができます。
これを試して 。
ViewPager viewPager = (ViewPager) findViewById(R.id.h_view_pager);
viewPager.setClipToPadding(false);
viewPager.setPadding(60, 0, 60, 0);
viewPager.setPageMargin(20);
ImagePagerAdapter adapter = new ImagePagerAdapter();
viewPager.setOffscreenPageLimit(adapter.getCount());
viewPager.setAdapter(adapter);
pager.setClipToPadding(false); pager.setPadding(左、0、右、0); ビューページャーの 2 つのページ間にスペースが必要な場合は、pager.setPageMargin(int); を追加します。