TabLayout+ViewPage+Fragment简单使用的方法

    xiaoxiao2025-05-26  13

    先是简单的布局,核心代码如下 <android.support.design.widget.TabLayout android:id="@+id/tab_FindFragment_title" android:layout_width="match_parent" app:tabIndicatorHeight="5dp" android:layout_height="wrap_content" android:background="@color/white" app:tabIndicatorColor="@color/page_tag_selected" app:tabSelectedTextColor="@color/page_tag_selected" app:tabTextColor="@color/gray" /> <android.support.v4.view.ViewPager android:id="@+id/vp_product_detail" android:layout_width="match_parent" android:layout_height="500dp" android:background="@color/white" />

    然后是控件的申明与设置

    private TabLayout tab_FindFragment_title;  private ViewPager vp_content;

    vp_content = (ViewPager) findViewById(R.id.vp_product_detail); tab_FindFragment_title = (TabLayout) findViewById(R.id.tab_FindFragment_title);   //设置TabLayout的模式  tab_FindFragment_title.setTabMode(TabLayout.MODE_FIXED);  tab_FindFragment_title.setupWithViewPager(vp_content); init();  initDatas(); 设置TabLayout中的标题和ViewPager与Fragmen的绑定

    List<Fragment> mfragments = new ArrayList<Fragment>(); private List<String> mdate; private void initDatas() { mDatas = new ArrayList<String>(Arrays.asList("图文详情", "产品参数", "用户评论")); } private void init() { mfragments.add(productImageTextFragment); mfragments.add(productEvaluationFragment); mfragments.add(productParamsFragment); //Toast.makeText(this,mDatas.toString(),Toast.LENGTH_SHORT).show(); vp_content.setAdapter(new ProductInfoPageAdapter(getSupportFragmentManager(), mfragments, mDatas)); vp_content.setCurrentItem(0); } 最后设置adapter package sunrun.com.mall.adapter; import android.support.v4.app.Fragment; import android.support.v4.app.FragmentManager; import android.support.v4.app.FragmentStatePagerAdapter; import android.view.ViewGroup; import java.util.List; import sunrun.com.mall.fragment.AllOrderFragment; /** * Created by 25002 on 2016-08-10. */ public class ProductInfoPageAdapter extends FragmentStatePagerAdapter { private List<Fragment> mfragments; private List<String> list_Title; public ProductInfoPageAdapter(FragmentManager fm, List<Fragment> fragmentlists, List<String> list_Title) { super(fm); this.mfragments=fragmentlists; this.list_Title=list_Title; } @Override public Fragment getItem(int position) { return mfragments.get(position); } @Override public int getCount() { return list_Title.size(); } //此方法用来显示tab上的名字 @Override public CharSequence getPageTitle(int position) { return list_Title.get(position % list_Title.size()); } @Override public void destroyItem(ViewGroup container, int position, Object object) { // super.destroyItem(container, position, object); } }

    转载请注明原文地址: https://ju.6miu.com/read-1299272.html
    最新回复(0)