ViewPage関連コンテンツ

3714 ワード

ViewPageは1つのコンテナに相当し、ジェスチャーで左右にスライドするにはAdapterを配置する必要があります
  • PagerAdapterデータソースはviewの集合List
  • に対応する.
  • FragmentPagerAdapterデータソースはfragfment集合List
  • に対応する.
  • FragmentStatePagerAdapterデータソースはfragfment集合List
  • に対応する.
    ケース:
    ステップ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は一緒に使用できません.競合が発生します.
    最後の結果は、微信のようなページにスライドできることです.