package com.zl.viewpager;
import android.os.Bundle;
import android.support.annotation.Nullable;
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.welldone.floatbutton.R;
import java.util.ArrayList;
public class MainActivity extends AppCompatActivity{
private TabLayout mTabLayout;
private ViewPager mViewPager;
private ArrayList<String> titles = new ArrayList<>() ;
private ArrayList<Fragment> fragments = new ArrayList<>();
@Override
protected void onCreate(@Nullable Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.viewpager);
mTabLayout = (TabLayout) findViewById(R.id.zl_tab);
mViewPager = (ViewPager) findViewById(R.id.zl_vp);
for(int i = 0; i < 5; i ++) {
titles.add("room_"+i);
fragments.add(new ItemFragment());
}
mViewPager.setAdapter(new ViewPagerdapter(getSupportFragmentManager(),titles,fragments));
mTabLayout.setupWithViewPager(mViewPager);
}
}
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout
xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical"
xmlns:app="http://schemas.android.com/apk/res-auto">
<!-- app:tabIndicatorColor="#ef7032" :设置下划线颜色 -->
<android.support.design.widget.TabLayout
android:id="@+id/zl_tab"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginTop="7dp"
android:layout_marginBottom="7dp"
android:layout_marginLeft="1dp"
android:layout_marginRight="2dp"
android:paddingLeft="10dp"
android:paddingRight="10dp"
android:background="@drawable/solid_radiu_fff"
app:tabGravity="fill"
app:tabIndicatorColor="#0fff"
app:tabIndicatorHeight="2dp"
app:tabMaxWidth="120dp"
app:tabMode="scrollable"
app:tabSelectedTextColor="#ef7032"
app:tabTextAppearance="@style/MyCustomTabTextAppearance"
app:tabTextColor="#999"/>
<android.support.v4.view.ViewPager
android:id="@+id/zl_vp"
android:layout_width="match_parent"
android:layout_height="0dp"
android:layout_weight="1"/>
</LinearLayout>
<style name="MyCustomTabTextAppearance" parent="TextAppearance.Design.Tab">
<item name="android:textSize">16sp</item>
<item name="android:textColor">#505a68</item>
</style>
package com.zl.viewpager;
import android.support.v4.app.Fragment;
import android.support.v4.app.FragmentManager;
import android.support.v4.app.FragmentStatePagerAdapter;
import android.util.Log;
import java.util.ArrayList;
import java.util.List;
public class ViewPagerdapter extends FragmentStatePagerAdapter {
private ArrayList<String> titles;
private List<Fragment> fragments;
public ViewPagerdapter(FragmentManager fm, ArrayList<String> titles, List<Fragment> fragments) {
super(fm);
this.titles = titles;
this.fragments = fragments;
}
@Override
public Fragment getItem(int position) {
Log.e("-------title2----","-----------------"+titles.size());
return fragments.get(position);
}
@Override
public int getCount() {
return fragments.size();
}
@Override
public CharSequence getPageTitle(int position) {
return titles.get(position);
}
}