先上图展示效果
下面就是代码了
Activity_main.xml里面的代码
<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout 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=".MainActivity">
<android.support.design.widget.TabLayout
android:id="@+id/Tab_Layout"
android:layout_width="match_parent"
android:layout_height="wrap_content"
app:tabMode="scrollable"></android.support.design.widget.TabLayout>
<android.support.v4.view.ViewPager
android:id="@+id/View_Page"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:layout_below="@+id/Tab_Layout"></android.support.v4.view.ViewPager>
</RelativeLayout>
//fragment的xml和java代码就不写了 都是自动生成的
下面是适配器的adapter
package com.example.tablayout.adapter;
import android.support.annotation.Nullable;
import android.support.v4.app.Fragment;
import android.support.v4.app.FragmentManager;
import android.support.v4.app.FragmentPagerAdapter;
import java.util.ArrayList;
public class MyAdapter extends FragmentPagerAdapter {
private ArrayList<Fragment> mdatas;
private ArrayList<String> mlist;
public MyAdapter(FragmentManager fm, ArrayList<Fragment> datas, ArrayList<String> list) {
super(fm);
this.mdatas = datas;
this.mlist = list;
}
@Override
public Fragment getItem(int i) {
return mdatas.get(i);
}
@Override
public int getCount() {
return mdatas.size();
}
//需要重写的方法 重写标题
@Nullable
@Override
public CharSequence getPageTitle(int position) {
return mlist.get(position);
}
}
activity里面的代码
package com.example.tablayout;
import android.os.Bundle;
import android.support.design.widget.TabLayout;
import android.support.v4.app.Fragment;
import android.support.v4.view.ViewPager;
import android.support.v7.app.AppCompatActivity;
import com.example.tablayout.adapter.MyAdapter;
import com.example.tablayout.fragment.AFragment;
import com.example.tablayout.fragment.BFragment;
import java.util.ArrayList;
public class MainActivity extends AppCompatActivity {
private TabLayout Tab_Layout;
private ViewPager View_Page;
private ArrayList<Fragment> mdatas = new ArrayList<>();
private ArrayList<String> mlists = new ArrayList<>();
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
initData();
initView();
}
//初始化数据
private void initData() {
mdatas.add(new AFragment());
mdatas.add(new BFragment());
mdatas.add(new AFragment());
mdatas.add(new BFragment());
mdatas.add(new AFragment());
mdatas.add(new BFragment());
mdatas.add(new AFragment());
mdatas.add(new BFragment());
mlists.add("新闻");
mlists.add("LOL");
mlists.add("新闻");
mlists.add("LOL");
mlists.add("新闻");
mlists.add("LOL");
mlists.add("新闻");
mlists.add("LOL");
}
private void initView() {
Tab_Layout = (TabLayout) findViewById(R.id.Tab_Layout);
View_Page = (ViewPager) findViewById(R.id.View_Page);
View_Page.setAdapter(new MyAdapter(getSupportFragmentManager(),mdatas,mlists));
Tab_Layout.setupWithViewPager(View_Page);
}
}
以上.