效果如下图
<?xml version="1.0" encoding="utf-8"?> <android.support.design.widget.CoordinatorLayout 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:id="@+id/main_content" android:layout_width="match_parent" android:layout_height="match_parent" android:fitsSystemWindows="true" > <android.support.design.widget.AppBarLayout android:id="@+id/appbar" android:layout_width="match_parent" android:layout_height="wrap_content" android:theme="@style/ThemeOverlay.AppCompat.Dark.ActionBar" > <android.support.v7.widget.Toolbar android:id="@+id/toolbar" android:layout_width="match_parent" android:layout_height="?attr/actionBarSize" app:layout_scrollFlags="scroll|enterAlways" app:popupTheme="@style/ThemeOverlay.AppCompat.Light" /> <android.support.design.widget.TabLayout android:id="@+id/tabs" android:layout_width="match_parent" android:layout_height="wrap_content" app:tabIndicatorColor="#ADBE107E" app:tabMode="scrollable" /> </android.support.design.widget.AppBarLayout> <android.support.v4.view.ViewPager android:id="@+id/viewpager" android:layout_width="match_parent" android:layout_height="match_parent" app:layout_behavior="@string/appbar_scrolling_view_behavior"> </android.support.v4.view.ViewPager> <android.support.design.widget.FloatingActionButton android:id="@+id/btn" android:layout_width="132dp" android:layout_height="wrap_content" android:layout_margin="10dp" android:clickable="true" android:src="@mipmap/ic_launcher" app:layout_anchor="@id/viewpager" app:layout_anchorGravity="bottom|right|end" /> </android.support.design.widget.CoordinatorLayout>
上面是MainActivity的xml布局
MainActivity
public class Main2Activity extends AppCompatActivity { private ViewPager viewPager; private TabLayout tabLayout; FloatingActionButton floatingActionButton; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main2); floatingActionButton = findViewById(R.id.btn); floatingActionButton.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { Snackbar.make(v, "you onclick", Snackbar.LENGTH_SHORT).show(); } }); Toolbar toolbar = findViewById(R.id.toolbar); setSupportActionBar(toolbar); final ActionBar ab = getSupportActionBar(); ab.setDisplayHomeAsUpEnabled(true); viewPager = findViewById(R.id.viewpager); initViewpager(); } private void initViewpager() { tabLayout = findViewById(R.id.tabs); List<String> list = new ArrayList<>(); list.add("精选"); list.add("体育"); list.add("购物"); list.add("精选1"); list.add("精选2"); list.add("精选3"); list.add("精选4"); list.add("精选5"); list.add("精选6"); list.add("精选7"); list.add("精选8"); for (int i = 0; i < list.size(); i++) { tabLayout.addTab(tabLayout.newTab().setText(list.get(i))); } List<Fragment> fragments = new ArrayList<>(); for (int i = 0; i < list.size(); i++) { fragments.add(new com.example.cnb.coordinatorlayout_toolbar.ListFragment()); } FragmentAdapter fragmentAdapter = new FragmentAdapter(getSupportFragmentManager(), fragments, list); viewPager.setAdapter(fragmentAdapter); tabLayout.setupWithViewPager(viewPager); tabLayout.setTabsFromPagerAdapter(fragmentAdapter); } }