私はAndroidのを使用してViewPager
います。私がやりたいことは、ページのプレビューを左右両方に表示することです。pageMargin
ネガを使用して右側のプレビューを表示できる場所を見てきました。
setPageMargin(-100);
左側のプレビューも表示できる方法はありますか? 基本的には、私が探しているギャラリー ウィジェットに似たものです。
私はAndroidのを使用してViewPager
います。私がやりたいことは、ページのプレビューを左右両方に表示することです。pageMargin
ネガを使用して右側のプレビューを表示できる場所を見てきました。
setPageMargin(-100);
左側のプレビューも表示できる方法はありますか? 基本的には、私が探しているギャラリー ウィジェットに似たものです。
左右のページのプレビューを表示するには、次の 2 つの値を設定します
viewpager.setClipToPadding(false);
viewpager.setPadding(left,0,right,0);
ビューページャーの 2 つのページ間にスペースが必要な場合は、追加します
viewpager.setPageMargin(int);
@JijuInduchoodanによる答えは完璧で機能しています。しかし、私はAndroidに比較的慣れていないので、理解して適切に設定するのに時間がかかりました. そのため、将来の参考のためにこの回答を投稿し、私と同じ靴を履いている他の人を助けます。
if (viewPager == null)
{
// Initializing view pager
viewPager = (ViewPager) findViewById(R.id.vpLookBook);
// Disable clip to padding
viewPager.setClipToPadding(false);
// set padding manually, the more you set the padding the more you see of prev & next page
viewPager.setPadding(40, 0, 40, 0);
// sets a margin b/w individual pages to ensure that there is a gap b/w them
viewPager.setPageMargin(20);
}
ViewPager's
アダプターでページに幅を設定する必要はありません。で前のページと次のページを表示するために必要な追加のコードはありませんViewPager
。ただし、各ページの上下に空白を追加したい場合は、次のコードをViewPager's
子ページの親レイアウトに設定できます。
android:paddingTop="20dp"
android:paddingBottom="20dp"
これが ViewPager の最終的な外観になります。
このフラグメント アダプターとクラスを使用して、viewpager を左右のスクロールで表示します。スクロールして次のページを表示するために必要なクラスを追加します。
package com.rmn.viewpager;
import java.util.List;
import android.support.v4.app.Fragment;
import android.support.v4.app.FragmentManager;
import android.support.v4.app.FragmentPagerAdapter;
/**
* The <code>PagerAdapter</code> serves the fragments when paging.
* @author mwho
*/
public class PagerAdapter extends FragmentPagerAdapter {
private List<Fragment> fragments;
/**
* @param fm
* @param fragments
*/
public PagerAdapter(FragmentManager fm, List<Fragment> fragments) {
super(fm);
this.fragments = fragments;
}
/* (non-Javadoc)
* @see android.support.v4.app.FragmentPagerAdapter#getItem(int)
*/
@Override
public Fragment getItem(int position) {
return this.fragments.get(position);
}
/* (non-Javadoc)
* @see android.support.v4.view.PagerAdapter#getCount()
*/
@Override
public int getCount() {
return this.fragments.size();
}
}
package com.manishkpr.viewpager;
import android.content.Context;
import android.support.v4.app.Fragment;
import android.support.v4.app.FragmentManager;
import android.support.v4.app.FragmentPagerAdapter;
public class ViewPagerAdapter extends FragmentPagerAdapter {
private Context _context;
public ViewPagerAdapter(Context context, FragmentManager fm) {
super(fm);
_context=context;
}
@Override
public Fragment getItem(int position) {
Fragment f = new Fragment();
switch(position){
case 0:
f=LayoutOne.newInstance(_context);
break;
case 1:
f=LayoutTwo.newInstance(_context);
break;
}
return f;
}
@Override
public int getCount() {
return 2;
}
}