ViewPage関連コンテンツ
3714 ワード
ViewPageは1つのコンテナに相当し、ジェスチャーで左右にスライドするにはAdapterを配置する必要があります PagerAdapterデータソースはviewの集合List に対応する. FragmentPagerAdapterデータソースはfragfment集合List に対応する. FragmentStatePagerAdapterデータソースはfragfment集合List に対応する.
ケース:
ステップ1:4つのviewを作成します.xml、activity.xmlステップ2:アダプタMyPageAdapterを作成する
手順3:重要なコードをロードします.
ページごとにタイトルを設定
Java機能実装でスタイルタイトルを設定する
設定も可能
注意:PagerTitleStripとPagerTabStripは一緒に使用できません.競合が発生します.
最後の結果は、微信のようなページにスライドできることです.
ケース:
ステップ1:4つのviewを作成します.xml、activity.xmlステップ2:アダプタMyPageAdapterを作成する
public class MyPageAdapter extends PagerAdapter{
private List viewList;
public MyPageAdapter(List viewList){
this.viewList=viewList;
}
//
@Override
public int getCount() {
return viewList.size();
}
// view
@Override
public boolean isViewFromObject(View view, Object object) {
return view==object;
}
//
@Override
public Object instantiateItem(ViewGroup container, int position) {
// viewList view
container.addView(viewList.get(position));
return viewList.get(position);
}
//
@Override
public void destroyItem(ViewGroup container, int position, Object object) {
container.removeView(viewList.get(position));
}
}
手順3:重要なコードをロードします.
public class SecondActivity extends AppCompatActivity{
private List viewList;
private ViewPager viewPager;
@Override
protected void onCreate(@Nullable Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_second);
TextView textView=(TextView)findViewById(R.id.text);
viewList=new ArrayList();
View view1=View.inflate(this,R.layout.view1,null);
View view2=View.inflate(this,R.layout.view2,null);
View view3=View.inflate(this,R.layout.view3,null);
View view4=View.inflate(this,R.layout.view4,null);
viewList.add(view1);
viewList.add(view2);
viewList.add(view3);
viewList.add(view4);
// viewPage
viewPager=(ViewPager) findViewById(R.id.page);
//
MyPageAdapter adapter=new MyPageAdapter(viewList);
//
viewPager.setAdapter(adapter);
}
}
ページごとにタイトルを設定
Java機能実装でスタイルタイトルを設定する
//
titleList=new ArrayList();
titleList.add(" ");
titleList.add(" ");
titleList.add(" ");
titleList.add(" ");
//tab
tabStrip=(PagerTabStrip)findViewById(R.id.tab);
//
tabStrip.setBackgroundColor(Color.RED);
//
tabStrip.setDrawFullUnderline(false);
//
tabStrip.setTabIndicatorColor(Color.GREEN);
設定も可能
注意:PagerTitleStripとPagerTabStripは一緒に使用できません.競合が発生します.
最後の結果は、微信のようなページにスライドできることです.