import android.support.design.widget.TabLayout;
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 android.app.Fragment;
import android.widget.ListView;
import java.util.ArrayList;
/*
1.完成项目XML布局 初始化控件
a.根布局 不在是LinearLayout 而是 DrawerLayout
b.写两个直接的子控件 linearLayout Fragment
c.TabLayout(依赖) 和 viewpager
2.初始化 ActionBar 和ToolBar一样的存在
a.获取一个ActionBar对象
b.给ActionBar对象设置图片
c .ActionBar关联DrawerLayout 设置drawerlayout的id
d.DrawerLayout关联ActionBar
3.初始化Viewpager
a.创建一个装Fragement的集合
b.创建Fragment,把Fragment添加到容器中
c.创建ViewPager 的适配器写其逻辑
4. 两两之间的相互关联
a.tabLayout 创建指示器
b.Tablayout与Viewpager相关联
c.给TabLayout指示器设置文本
*/
public class MainActivity extends AppCompatActivity {
private DrawerLayout drawerLayout;
private TabLayout tabLayout;
private ViewPager viewPager;
private ActionBarDrawerToggle toggle;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
//初始化控件
initView();
//初始化Action Bar
initActionBar();
//初始化viewpager
initViewpager();
}
//初始化控件
private void initView() {
drawerLayout = findViewById(R.id.drawerlayout);
tabLayout = findViewById(R.id.tab_layout);
viewPager = findViewById(R.id.view);
}
//设置点击左上角 能够弹出侧边菜单
private void initActionBar() {
//获取一个ActionBar对象
ActionBar actionBar =getSupportActionBar();
//给做商检一个图片 4.0 以上 默认图片 给true就可以直接使用
actionBar.setDisplayHomeAsUpEnabled(true);
//有一个类提供了绑定DrawerLayout功能 在 values文件夹下 修改Strings.xml修改
//c .ActionBar关联DrawerLayout
toggle = new ActionBarDrawerToggle(this, drawerLayout, R.string.open, R.string.close);
//c .DrawerLayout关联ActionBar 同步
toggle.syncState();
drawerLayout.addDrawerListener(toggle);
}
//设置左上角的按钮具备点击事件
@Override
public boolean onOptionsItemSelected(MenuItem item) {
if(toggle.onOptionsItemSelected(item)){
return true; //设置为true
}
return super.onOptionsItemSelected(item);
}
//初始化 DrawerLayout ViewPager Fragment
private void initViewpager() {
ArrayList<Fragment> fragments =new ArrayList<>();
fragments.add(new VRPanoFragment());
fragments.add(new VrVideoFragment());
//创建适配器
MyPagerAdapter adapter = new MyPagerAdapter(getFragmentManager());
//添加集合
adapter.setFragments(fragments);
//添加适配器
viewPager.setAdapter(adapter);
//tablayout指示器有几个就创建几个
tabLayout.addTab(tabLayout.newTab());
tabLayout.addTab(tabLayout.newTab());
//使用指示器tablayout和viewpager
tabLayout.setupWithViewPager(viewPager); //两者关联
//给tablayout指示器设置文本 万物从0开始
tabLayout.getTabAt(0).setText("开心果");
tabLayout.getTabAt(1).setText("葡萄树");
}
}