.activity_main.xml
<?xml version="1.0" encoding="utf-8"?>
<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:id="@+id/drawer_layout"
android:layout_width="match_parent"
android:layout_height="match_parent"
tools:context=".MainActivity">
<LinearLayout
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical">
<android.support.design.widget.TabLayout
android:id="@+id/tab_layout"
android:layout_width="match_parent"
android:layout_height="wrap_content"/>
<android.support.v4.view.ViewPager
android:id="@+id/vp"
android:layout_width="match_parent"
android:layout_height="wrap_content"/>
</LinearLayout>
<fragment
class="com.example.drawelayoutdemo.NaviFragment"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:layout_gravity="start"></fragment>
</android.support.v4.widget.DrawerLayout>
.MainActivity
package com.example.drawelayoutdemo;
import android.support.design.widget.TabLayout;
import android.support.v4.app.Fragment;
import android.support.v4.view.ViewPager;
import android.support.v4.widget.DrawerLayout;
import android.support.v7.app.ActionBar;
import android.support.v7.app.ActionBarDrawerToggle;
import android.support.v7.app.AppCompatActivity;
import android.os.Bundle;
import android.view.MenuItem;
import java.util.ArrayList;
public class MainActivity extends AppCompatActivity {
private DrawerLayout mDrawerLayout;
private ViewPager mViewPager;
private TabLayout mTabLayout;
private ActionBarDrawerToggle mToggle;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
iniView();
intiActionBar();
initVIewPager();
}
private void iniView() {
mDrawerLayout = (DrawerLayout) findViewById(R.id.drawer_layout);
mViewPager = (ViewPager) findViewById(R.id.vp);
mTabLayout = (TabLayout) findViewById(R.id.tab_layout);
mDrawerLayout.setDrawerLockMode(DrawerLayout.LOCK_MODE_UNLOCKED);
}
private void intiActionBar() {
ActionBar actionBar = getSupportActionBar();
actionBar.setDisplayHomeAsUpEnabled(true);
mToggle = new ActionBarDrawerToggle(this, mDrawerLayout, R.string.open, R.string.close);
mToggle.syncState();
mDrawerLayout.addDrawerListener(mToggle);
}
@Override
public boolean onOptionsItemSelected(MenuItem item) {
if(mToggle.onOptionsItemSelected(item)){
return true;
}
return super.onOptionsItemSelected(item);
}
private void initVIewPager() {
ArrayList<Fragment> fragments = new ArrayList<>();
fragments.add(new AFragment());
fragments.add(new BFragment());
MyPagerAdapter adapter = new MyPagerAdapter(getSupportFragmentManager());
adapter.setFragments(fragments);
mViewPager.setAdapter(adapter);
mTabLayout.addTab(mTabLayout.newTab());
mTabLayout.addTab(mTabLayout.newTab());
mTabLayout.setupWithViewPager(mViewPager);
mTabLayout.getTabAt(0).setText("AAA");
mTabLayout.getTabAt(1).setText("BBB");
}
}
.MyPageAdapter
package com.example.drawelayoutdemo;
import android.support.v4.app.Fragment;
import android.support.v4.app.FragmentManager;
import android.support.v4.app.FragmentPagerAdapter;
import java.util.ArrayList;
import java.util.List;
class MyPagerAdapter extends FragmentPagerAdapter {
private List<Fragment> mFragments;
public MyPagerAdapter(FragmentManager fm) {
super(fm);
}
@Override
public Fragment getItem(int position) {
Fragment fragment = mFragments.get(position);
return fragment;
}
@Override
public int getCount() {
return mFragments.size();
}
public void setFragments(ArrayList<Fragment> fragments) {
mFragments = fragments;
}
}
在这里插入代码片