//导入依赖库
package com. example. tablayout;
import android.support.design.widget.TabLayout ;
import android.support.v4.app.Fragment ;
import android.support.v4.app.FragmentManager ;
import android.support.v4.app.FragmentPagerAdapter ;
import android.support.v4.view.ViewPager ;
import android.support.v7.app.AppCompatActivity ;
import android.os.Bundle ;
import android.util.Log ;
import java.util.ArrayList ;
import java.util.List ;
public class MainActivity extends AppCompatActivity {
private List < String > datas = new ArrayList < String > () ;
@Override
protected void onCreate ( Bundle savedInstanceState ) {
super . onCreate ( savedInstanceState ) ;
setContentView ( R.layout . activity_main ) ;
TabLayout tabLayout = ( TabLayout ) findViewById ( R.id . tas ) ;
ViewPager viewPager = ( ViewPager ) findViewById ( R.id . vp ) ;
datas . add ( " 推荐 " ) ;
datas . add ( " 要闻 " ) ;
datas . add ( " 娱乐 " ) ;
datas . add ( " 科技 " ) ;
datas . add ( " 汽车 " ) ;
datas . add ( " 体育 " ) ;
datas . add ( " 图片 " ) ;
datas . add ( " 动漫 " ) ;
datas . add ( " 社会 " ) ;
datas . add ( " 游戏 " ) ;
viewPager . setAdapter ( new MyAdapter ( getSupportFragmentManager ())) ;
// 进行关联
tabLayout . setupWithViewPager ( viewPager ) ;
}
class MyAdapter extends FragmentPagerAdapter {
// 带参的构造方法
public MyAdapter ( FragmentManager fm ) {
super ( fm ) ;
}
// 返回选项卡的文本 ,,,添加选项卡
@Override
public CharSequence getPageTitle ( int position ) {
return datas . get ( position ) ;
}
@Override
public Fragment getItem (int position) {
Fragment f = null;
switch (position){
case 0 :f = new TjFragment(); //动态
break;
case 1 :f = new KcFragment(); //热门
break;
case 2 :f = new SzFragment(); //发现
break;
case 3 :f = new ZyFragment(); //
break;
}
return f;
} @Override public int getCount () { return datas . size () ; // 返回选项卡的数量 } } }
//布局
<? xml version= "1.0" encoding= "utf-8" ?>
< android.support.constraint.ConstraintLayout
xmlns: android = "http://schemas.android.com/apk/res/android"
xmlns: app = "http://schemas.android.com/apk/res-auto"
xmlns: tools = "http://schemas.android.com/tools" android :layout_width= "match_parent"
android :layout_height= "match_parent" tools :context= "com.example.tablayout.MainActivity" >
< android.support.design.widget.TabLayout
android :layout_width= "match_parent"
android :layout_height= "50dp"
android :id= "@+id/tas"
app :tabGravity= "center"
app :tabIndicatorColor= "@color/colorAccent"
app :tabMode= "scrollable"
app :tabSelectedTextColor= "@color/colorPrimaryDark"
app :tabTextColor= "@color/colorPrimary"
></ android.support.design.widget.TabLayout >
< android.support.v4.view.ViewPager
android :layout_width= "match_parent"
android :layout_height= "match_parent"
android :id= "@+id/vp"
android :layout_below= "@+id/tas"
></ android.support.v4.view.ViewPager >
</ android.support.constraint.ConstraintLayout >
//fragment的传值
public class ContentFragment extends Fragment {
@Nullable
@Override
public View onCreateView ( LayoutInflater inflater , @Nullable ViewGroup container , @Nullable Bundle savedInstanceState ) {
View view = View . inflate ( getActivity () , R.layout . content , null ) ;
TextView textView = ( TextView ) view . findViewById ( R.id . tv ) ;
Bundle bundle = getArguments () ;
textView . setText ( bundle . getString ( "key" )) ;
return view ;
}