1. Toolbar类
Toolbar是替代ActionBar的产物,低版本可以使用v7兼容包,使用Theme.AppCompat主题,并添加配置。
false
true
2. Toolbar配置
主要属性,
navigationIcon,设置导航栏图标
logo,设置logo
title,设置标题
subtitle,设置副标题
background,设置背景
Toolbar还可以设置自定义子视图,
3. 添加菜单
Activity需要继承AppCompatActivity,并调用setSupportActionBar(Toolbar)方法。
public clas ToolbarActivity extends AppCompatActivity {
@Override
protected void onCreate(@Nullable Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_design_toolbar);
Toolbar toolbar = findViewById(R.id.toolbar);
setSupportActionBar(toolbar);
}
}
在menu目录下添加menu_toolbar.xml文件
在代码中添加Menu,并设置点击事件
@Override
public boolean onCreateOptionsMenu(Menu menu) {
getMenuInflater().inflate(R.menu.menu_toolbar, menu);
return true;
}
@Override
public boolean onOptionsItemSelected(MenuItem item) {
if (item.getItemId() == R.id.item_faq) {
Toast.makeText(this, "Faq", Toast.LENGTH_SHORT).show();
} else if (item.getItemId() == R.id.item_add) {
Toast.makeText(this, "Add", Toast.LENGTH_SHORT).show();
} else if (item.getItemId() == R.id.item_setting) {
Toast.makeText(this, "Setting", Toast.LENGTH_SHORT).show();
}
return true;
}
效果如下
4. 代码设置
Toolbar也提供了很多set方法,
setNavigationIcon(int resId),设置导航栏图标
setNavigationOnClickListener(OnClickListener listener),设置导航栏监听事件
setLogo(int resId),设置logo
setTitle(int resId),设置标题
setTitle(CharSequence title),设置标题
setSubtitle(int resId),设置副标题
setSubtitle(CharSequence subtitle),设置副标题
setBackgroundColor(int color),设置背景
setBackgroundResource(int resid),设置背景
setOverflowIcon(Drawable icon),设置菜单按钮样式
效果如下
5. 修改菜单样式
设置Toolbar的popupTheme属性,修改下拉框样式
app:popupTheme="@style/AppTheme.OverFlowMenu"
在style.xml中,添加AppTheme.OverFlowMenu
相关文章
Android Snackbar控件
Android FloatingActionButton控件
Android Toolbar控件
Android AppBarLayout控件
Android CollapsingToolbarLayout控件
Android CardView控件
Android SlidingPaneLayout和DrawerLayout控件
Android NavigationView控件
Android TabLayout控件