在使用TabLayout要进行导入类库(系统自带)
在build.gradle中更改版本号
在布局中
<android.support.v4.widget.DrawerLayout 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" android:id="@+id/mydraw" tools:context="com.example.zonghelianxi.MainActivity"> <LinearLayout android:layout_width="match_parent" android:layout_height="match_parent" android:orientation="vertical" > <android.support.design.widget.TabLayout android:layout_width="match_parent" android:layout_height="wrap_content" app:tabGravity="center" app:tabIndicatorColor="@color/colorAccent" app:tabMode="scrollable" app:tabSelectedTextColor="@color/colorPrimaryDark" app:tabTextColor="@color/colorPrimary" android:id="@+id/tablayout1"> </android.support.design.widget.TabLayout> <android.support.v4.view.ViewPager android:layout_width="match_parent" android:layout_height="match_parent" android:id="@+id/vp" android:layout_below="@id/tablayout1"></android.support.v4.view.ViewPager> </LinearLayout> <LinearLayout android:layout_width="200dp" android:layout_height="match_parent" android:orientation="vertical" android:layout_gravity="start" android:background="#00f" android:id="@+id/lin_menu"> <ListView android:layout_width="match_parent" android:layout_height="match_parent" android:id="@+id/menulistview"></ListView> </LinearLayout> </android.support.v4.widget.DrawerLayout>
mainactivity中
public class MainActivity extends AppCompatActivity { private DrawerLayout mydraw; private LinearLayout linmenu; private ListView menulv; private TabLayout tab; private ArrayList <String> menus; private ViewPager vp; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate (savedInstanceState); setContentView (R.layout.activity_main); tab = findViewById (R.id.tablayout1); vp = findViewById (R.id.vp); menus = new ArrayList<> ( ); for (int i = 0; i <10 ; i++) { menus.add ("列表"+i); } vp.setAdapter (new vpadapter(getSupportFragmentManager ()) ); tab.setupWithViewPager (vp); } class vpadapter extends FragmentPagerAdapter { public vpadapter(FragmentManager fm) { super (fm); } @Override public CharSequence getPageTitle(int position) { return menus.get (position); } @Override public Fragment getItem(int position) { Fragment01 fragment01 = new Fragment01 ( ); return fragment01; } @Override public int getCount() { return menus.size (); } } }
效果如下