<十一>TabLayout简单例子

先上截图

(TabLayout + ViewPager(Fragment))

这里写图片描述

步骤

1.首先是布局文件:

<android.support.design.widget.AppBarLayout
    android :layout_width="match_parent"
    android :layout_height="wrap_content">

    <android.support.v7.widget.Toolbar
        android :id="@+id/toolbar"
        android :layout_width="match_parent"
        android :layout_height="?attr/actionBarSize"
        android :background="?attr/colorPrimary"
        app :layout_scrollFlags="scroll|enterAlways"
        app :theme="@style/ThemeOverlay.AppCompat.Dark" />

    <android.support.design.widget.TabLayout xmlns:tabl= "http://schemas.android.com/apk/res-auto"
        android :id="@+id/tab"
        android :layout_width="match_parent"
        android :layout_height="wrap_content"
        android :background="@color/colorPrimary"
        tabl :tabSelectedTextColor="@color/colorPrimaryTextLight"
        tabl :tabTextColor="@color/colorSecondaryTextLight" />

</android.support.design.widget.AppBarLayout>


<android.support.v4.view.ViewPager
    android :id="@+id/viewpager"
    android :layout_width="match_parent"
    android :layout_height="match_parent"
    android :background="@android:color/white "
    app :layout_behavior="@string/appbar_scrolling_view_behavior" />

2.在代码中添加TabLayout与ViewPager,并关联一起即可

//界面数据 
String[] tabString = { "Tab1" ,"Tab2" , "Tab3"} ;
ArrayList<Fragment> mFragments = new ArrayList<>(); 
for ( int i = 0 ; i < tabString. length ; i++) { 
    MyPageFragment mFragment = new MyPageFragment() ;
    mFragments.add(mFragment) ;
}

// 初始化ViewPager的适配器 
MyPageAdapter mViewPagerAdapter = new MyPageAdapter(getSupportFragmentManager() , tabString, mFragments) ;
viewPager .setAdapter(mViewPagerAdapter); 
//将Tab与ViewPager关联(动画效果同步) 
tabLayout .setupWithViewPager(viewPager ) ;

接下来即缺什么补什么就行了:

3. 一个简单的Fragment:

public class MyPageFragment extends Fragment {

    @Override
    public View onCreateView(LayoutInflater inflater , ViewGroup container, Bundle savedInstanceState) {
        return inflater.inflate(R.layout.page, container, false);
    }
}

4.R.layout.page内容:

<? xml version="1.0" encoding= "utf-8"?>
<TextView xmlns: android="http://schemas.android.com/apk/res/android"
    android :layout_width="match_parent"
    android :layout_height="match_parent"
    android :gravity="center"
    android :text="text"
    android :textColor="@android:color/black"
    android :orientation="vertical"/> 

5. 最后就剩ViewPager的适配器:

public class MyPageAdapter extends FragmentStatePagerAdapter {

    private String[] mTitles;
    private List<Fragment> mFragments;

    public MyPageAdapter(FragmentManager fm , String[] mTitles, List<Fragment> mFragments) {
        super (fm);
        this. mTitles = mTitles;
        this. mFragments = mFragments;
    }

    @Override
    public CharSequence getPageTitle( int position) {
        return mTitles[position];
    }

    @Override
    public Fragment getItem( int position) {
        return mFragments.get(position);
    }

    @Override
    public int getCount() {
        return mFragments.size();
    }

}
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值