使用ToolBar
首先我们要去掉系统默认给我们的bar
也就是我们的DecorView下的LinearLayout中的titleView
parent="Theme.AppCompat.Light.NoActionBar"
第一步.png
第二步.png
↓↓↓↓↓↓↓↓来直接看这篇吧,写的已经很详细了↓↓↓↓↓↓↓↓
[感谢:da_caoyuan
拓展:来设置个menu吧
<menu>是菜单项的容器。<menu>元素必须是该文件的根节点,并且能够包含一个或多个<item>和<group>元素。<
1.android:id:菜单项(MenuItem)的唯一标识
2.android:icon:菜单项的图标(可选)
3.android:title:菜单项的标题(必选)
4.android:showAsAction:指定菜单项的显示方式。常用的有ifRoom、never、always、withText,多个属性值之间可以使用|隔开。>
<item>是菜单项,用于定义MenuItem,可以嵌套<menu>元素,以便创建子菜单。如下:
<item
android:id="@+id/nan"
android:title="男"
app:showAsAction="never" >
<menu>
<item
android:title="男变性"
app:showAsAction="never" />
<item
android:title="泰国男"
app:showAsAction="never" />
</menu>
</item>
<注意:这个属性的性质是一个 flag app:showAsAction="collapseActionView|ifRoom"
showAsAction属性共有五个值:ifRoom、never、always、withText、collapseActionView,可以混合使用。
1.app:showAsAction="ifRoom" 会显示在Item中,但是如果已经有4个或者4个以上的Item时会隐藏在溢出列表中。当然个数并不仅仅局限于4个,依据屏幕的宽窄而定
2.app:showAsAction="never " 永远不会显示。只会在溢出列表中显示,而且只显示标题,所以在定义item的时候,最好把标题都带上。
3.app:showAsAction="always " 无论是否溢出,总会显示。
4.app:showAsAction="withText "值示意Action bar要显示文本标题。Action bar会尽可能的显示这个标题,但是,如果图标有效并且受到Action bar空间的限制,文本标题有可能显示不全.
5.app:showAsAction="collapseActionView "声明了这个操作视窗应该被折叠到一个按钮中,当用户选择这个按钮时,这个操作视窗展开。否则,这个操作视窗在默认的情况下是可见的,并且即便在用于不适用的时候,也要占据操作栏的有效空间。一般要配合ifRoom一起使用才会有效果。>
嵌套子菜单.gif
监听item的方法:
mToolbar.setOnMenuItemClickListener(new Toolbar.OnMenuItemClickListener() {
@Override
public boolean onMenuItemClick(MenuItem item) {
switch (item.getItemId()){
//获取item 条目的 ID
case R.id.item0 :
Toast.makeText(MainActivity.this,"哈哈,找到方法啦哈哈",Toast.LENGTH_SHORT).show();
break;
}
return true;
}
});
<group>是<item>元素的不可见容器(可选)。可以使用它对菜单项进行分组,使一组菜单项共享可用性和可见性等属性。
1.<android:checkableBehavior=""
single:组中只有一个项目可以选中(单选按钮)
all:所有项目均可选中(复选框)
none:所有项目均无法选中
2.android:menuCategory="" 相当于位置的排序>
拓展:监听侧滑
//可以通过 Drawerlayout 提供的 API 控制 侧滑菜单
if (mDrawerlayout.isDrawerOpen(mLiearCehua)) {
mDrawerlayout.closeDrawers();
}else {
mDrawerlayout.openDrawer(mLiearCehua);
}
网友评论