Android: ViewPager2 結合 TabLayout Java代碼模板,支持DiffUtil添加數據集合改變的item動畫

Tab標籤名

    private static String[] TAB_LABEL = {"label1","label2","label3"};

viewPager2初始化並應用

    /**
     * viewpage2初始化
     */
    private void initViewpage2() {
    	
        final ArrayList<Fragment> fragmentList = new ArrayList<>();
        fragmentList.add(fragment1.newInstance());   //或 add( new fragment1() );
        fragmentList.add(fragment2.newInstance());
        fragmentList.add(fragment3.newInstance());
        
        viewPager2.setAdapter(new FragmentStateAdapter(getParentFragmentManager(),getLifecycle()) {
            @NonNull
            @Override
            public Fragment createFragment(int position) {
                return fragmentList.get(position);
            }

            @Override
            public int getItemCount() {
                return fragmentList.size();
            }
        });

        //關聯並應用ViewPage2和Tab
        new TabLayoutMediator(tabLayout, viewPager2, new TabLayoutMediator.TabConfigurationStrategy() {
            @Override
            public void onConfigureTab(@NonNull TabLayout.Tab tab, int position) {
                tab.setText(TAB_LABEL[position]);
            }
        }).attach();
    }
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章