1. ActionBar的介绍
ActionBar 是 Google 在 Android 3.0之后推出的一种全新用户操作方式
目的 : 用来替换掉菜单按键功能,长按操作功能,提供一种全新的操作体验
2. ActionBar的组成
(1) 应用的图标标题部分:包含了 图标,主标题,副标题,回退部分
(2) 导航模式部分:这里显示的是导航模式中的List(导航模式有三种,标准,list,tab)
(3) Action button 部分: 用来响应用户的点击事件
(4) 溢出菜单部分:如果Action button拜访不下去了,会在此处显示
3. ActionBar配合DrawerLayout的基本使用
首先 , 需要在 Activity 中初始化 ActionBar 的基本配置
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
initView();
initActionBar();
}
private void initActionBar() {
// 获取 ActionBar对象
ActionBar actionBar = getSupportActionBar();
// 设置主题
actionBar.setTitle("Bloodsoul");
// 根据需求是否要设置图片
actionBar.setIcon(R.mipmap.ic_launcher);
// 图标需要设置可见
actionBar.setDisplayShowHomeEnabled(true);
// 显示左边的图标箭头
actionBar.setDisplayHomeAsUpEnabled(true);
// 创建开关
ActionBarDrawerToggle toggle = new ActionBarDrawerToggle(this, drawerLayout, R.string.open, R.string.close);
// 同步初始化开关状态
toggle.syncState();
// 给 DrawerLayout添加监听
drawerLayout.addDrawerListener(toggle);
}
然后 , 对最左边的箭头开关设置一个点击事件 , 注意的是 , id 为 android.R.id.home
@Override
public boolean onOptionsItemSelected(MenuItem item) {
switch (item.getItemId()) {
case android.R.id.home:
Toast.makeText(MainActivity.this, "开关", Toast.LENGTH_SHORT).show();
break;
}
return super.onOptionsItemSelected(item);
}