import android.os.Bundle
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.view.View
import com.example.administrator.tablayout.fragment.Fragment1
import com.example.administrator.tablayout.fragment.Fragment2
import com.example.administrator.tablayout.fragment.Fragment3
import com.example.administrator.tablayout.fragment.Fragment4
import com.example.administrator.tablayout.fragment.Fragment5
import com.example.administrator.tablayout.fragment.Fragment6
import java.util.ArrayList
import java.util.List
public class MainActivity extends AppCompatActivity {
private TabLayout tabLayout
private ViewPager pager
private List<Fragment> mList=new ArrayList<>()
private final String[] mTitles=new String[]{"推荐","北京","视频","精品","热点","科技"}
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState)
setContentView(R.layout.activity_main)
intiData()
intiView()
}
private void intiData() {
mList.add(new Fragment1())
mList.add(new Fragment2())
mList.add(new Fragment3())
mList.add(new Fragment4())
mList.add(new Fragment5())
mList.add(new Fragment6())
}
private void intiView() {
tabLayout = (TabLayout) findViewById(R.id.tabLayout)
for (String str : mTitles)
{
//更具标签数生成标签
tabLayout.addTab(tabLayout.newTab().setText(str))
}
tabLayout.setTabMode(View.SCREEN_STATE_OFF)
pager = (ViewPager) findViewById(R.id.pager)
pager.setAdapter(new MypagerAdapter(getSupportFragmentManager()))
// tablayout 与view Pager 发生关联
tabLayout.setupWithViewPager(pager)
}
class MypagerAdapter extends FragmentPagerAdapter{
public MypagerAdapter(FragmentManager fm) {
super(fm)
}
@Override
public Fragment getItem(int position) {
return mList.get(position)
}
@Override
public int getCount() {
return mList.size()
}
//重写 标签 否则会有 bug
@Override
public CharSequence getPageTitle(int position) {
return mTitles[position]
}
}
}
import android.os.Bundle;
import android.support.annotation.Nullable;
import android.support.v4.app.Fragment;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
import com.example.administrator.tablayout.R;
/**
* Created by Administrator on 2017/9/9/009.
*/
public class Fragment1 extends Fragment {
@Nullable
@Override
public View onCreateView(LayoutInflater inflater, @Nullable ViewGroup container, @Nullable Bundle savedInstanceState) {
View view = inflater.inflate(R.layout.fragment01, container, false);
return view;
}
}
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
xmlns:app="http://schemas.android.com/apk/res-auto"
android:orientation="vertical"
tools:context="com.example.administrator.tablayout.MainActivity">
<LinearLayout
android:orientation="vertical"
android:layout_width="match_parent"
android:layout_height="wrap_content">
<android.support.design.widget.TabLayout
android:id="@+id/tabLayout"
android:layout_width="match_parent"
android:layout_height="wrap_content"
app:tabTextColor="@color/colorAccent"
app:tabSelectedTextColor="@color/colorPrimary"
app:tabMode="scrollable"/>
<android.support.v4.view.ViewPager
android:id="@+id/pager"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:isScrollContainer="false"
/>
</LinearLayout>
</LinearLayout>