packagecom.example.daytwo;importandroid.os.Bundle;importandroid.support.annotation.Nullable;importandroid.support.design.widget.TabLayout;importandroid.support.v4.app.Fragment;importandroid.support.v4.app.FragmentManager;importandroid.support.v4.app.FragmentPagerAdapter;importandroid.support.v4.view.ViewPager;importandroid.support.v4.widget.DrawerLayout;importandroid.support.v7.app.ActionBarDrawerToggle;importandroid.view.MenuItem;importandroid.view.View;importandroid.widget.AdapterView;importandroid.widget.ArrayAdapter;importandroid.widget.ListView;importcom.example.daytwo.fragment.Fragment1;importjava.util.ArrayList;importjava.util.List;public class HomeActivity extends BaseActivity implementsAdapterView.OnItemClickListener {privateDrawerLayout drawerLayout;privateListView leftDrawer;private List list = new ArrayList();private ArrayAdapteradapter;privateActionBarDrawerToggle toggle;private final String[] mTitles = new String[]{"推荐","热点","北京","科技","军事","视频","社会"};privateViewPager vp;
@Overrideprotected voidonCreate(@Nullable Bundle savedInstanceState) {super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
initData();
initView();
}/*** 初始化数据*/
private voidinitData() {for (int i = 0; i < 5; ++i) {
list.add("泡妞0" +i);
}
}/*** 初始化View*/
private voidinitView() {
drawerLayout=(DrawerLayout) findViewById(R.id.drawerLayout);
leftDrawer=(ListView) findViewById(R.id.leftDrawer);//初始化ActionBar//参数1:上下文//参数2:抽屉//参数3:打开抽屉的描述//参数4:关闭抽屉的描述
toggle = new ActionBarDrawerToggle(this,drawerLayout, R.string.openDrawer,R.string.closeDrawer);//设置状态同步
toggle.syncState();//设置抽屉打开关闭监听
drawerLayout.addDrawerListener(toggle);//设置适配器
adapter = new ArrayAdapter(this, android.R.layout.simple_list_item_1, list);
leftDrawer.setAdapter(adapter);
leftDrawer.setOnItemClickListener(this);//找到标签布局控件
TabLayout tabLayout =(TabLayout) findViewById(R.id.tabLayout);for(String str : mTitles)
{//更具标签数生成标签
tabLayout.addTab(tabLayout.newTab().setText(str));
}//TabLayout关联ViewPager
vp =(ViewPager) findViewById(R.id.vp);
vp.setAdapter(newMyFragmentAdapter(getSupportFragmentManager()));//让TabLayout发生关联
tabLayout.setupWithViewPager(vp);
}//重写该方法,监听actionbar 条目监听(箭头、三个横线)
@Overridepublic booleanonOptionsItemSelected(MenuItem item) {//如果抽屉打开,点击按钮,就会关闭,反之亦然
return toggle.onOptionsItemSelected(item) | super.onOptionsItemSelected(item);
}
@Overridepublic void onItemClick(AdapterView> parent, View view, int position, longid) {//关闭抽屉
drawerLayout.closeDrawer(leftDrawer);
}class MyFragmentAdapter extendsFragmentPagerAdapter{publicMyFragmentAdapter(FragmentManager fm) {super(fm);
}
@Overridepublic Fragment getItem(intposition) {returnFragment1.newInstance(mTitles[position]);
}
@Overridepublic intgetCount() {returnmTitles.length;
}//重写该方法,显示标签字体 bug
@Overridepublic CharSequence getPageTitle(intposition) {returnmTitles[position];
}
}
}//**H