依赖:
compile 'com.android.support:design:26.0.0-alpha1'
布局:
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:orientation="vertical">
<android.support.design.widget.TabLayout
android:id="@+id/tab"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:background="#e5e2e2"
app:tabIndicatorColor="#20b3a2"
app:tabIndicatorHeight="4dp"
app:tabSelectedTextColor="#ff0000"
app:tabGravity="fill"
app:tabTextColor="#aaa" />
<android.support.v4.view.ViewPager
android:id="@+id/pager"
android:layout_width="match_parent"
android:layout_height="match_parent" />
</LinearLayout>
// MainActivity 方法
import android.os.Bundle; import android.support.design.widget.TabLayout; import android.support.v4.app.Fragment; import android.support.v4.app.FragmentPagerAdapter; import android.support.v4.view.ViewPager; import android.support.v7.app.AppCompatActivity; import java.util.ArrayList; import java.util.List; public class MainActivity extends AppCompatActivity { private TabLayout tab; private ViewPager pa; List<String> lists=new ArrayList<String>(); List<Fragment>list2=new ArrayList<Fragment>(); @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); tab = (TabLayout)findViewById(R.id.tab); pa = (ViewPager)findViewById(R.id.pager); lists.add("ANDROID"); lists.add("IOS"); lists.add("福利"); list2.add(new AnFragment()); list2.add(new IOSFragment()); list2.add(new FuFragment()); //tablayout和viewpager关联 tab.setupWithViewPager(pa); //设置viewpager适配器 pa.setAdapter(new FragmentPagerAdapter(MainActivity.this.getSupportFragmentManager()) { //重写这个方法,将设置每个Tab的标题 @Override public CharSequence getPageTitle(int position) { return lists.get(position); } @Override public int getCount() { return list2.size(); } @Override public Fragment getItem(int position) { Bundle bundle = new Bundle(); if (lists.get(position).equals("ANDROID")){ bundle.putString("name","ANDROID"); }else if (lists.get(position).equals("IOS")){ bundle.putString("name","IOS"); }else if (lists.get(position).equals("福利")){ bundle.putString("name","福利"); } list2.get(position).setArguments(bundle); return list2.get(position); } }); } }
fragment中写:
public class AnFragment extends Fragment { private View view; @Nullable @Override public View onCreateView(LayoutInflater inflater, @Nullable ViewGroup container, @Nullable Bundle savedInstanceState) { view = inflater.inflate(R.layout.layout_android, container, false); Bundle bundle = getArguments(); //接收传递过来的值 String string = bundle.getString("name", "ANDROID"); return view; } }