Android开发丶MaterialDesign实战のToolbar
1.先添加design的依赖
2.在AppTheme中改为NoActionBar
3.在xml文件里添加Toolbar控件
注意两个配置
android:theme=”@style/ThemeOverlay.AppCompat.Dark.ActionBar“
app:Theme="@style/ThemeOverlay.AppCompat.Light"
4.在MainActivity中onCreate()方法中设置
setSupportActionBar(toobar);
运行效果:
5.尝试更改Toolbar中默认的文字,在清单文件AndroidManifest中Activity增加节点
android:label=”Fantasychong丶”
运行结果:
6.给Toolbar添加多个菜单按钮
在res目录下新建一个menu文件,里面设置好item属性,其中showsAction属性有三种值,always、ifRoom、never,always表示如果toolbar有空间,菜单会一直在toobar中显示,如果没有空间则不显示,ifRoom表示有空间就显示,没空间就移到右边的弹窗菜单里,never则表示不在toolbar里显示,一直在右边的弹窗菜单里显示。
<item
android:id= “@+id/menu_search”
android:title= “没有你的地方”
android:icon= “@mipmap/ic_launcher”
showsAction= “always”/ ”ifRoom”/ “never”
/>
运行效果
点击右边的弹窗按钮,如图所示
弹窗遮挡了部分Toolbar,尝试给它移位置到Toolbar下面,看起来会比较协调。
打开values文件夹下的style.xml文件夹
<style name=”ToolbarMenuTheme” parent=”@style/ThemeOverlay.AppCompat.Dark”>
<item name=”android:colorBackground”>@color/colorPrimary</item>
<item name=”actionOverflowMenuStyle”>@style/overflowMenuStyle</item>
</style>
<style name=”overflowMenuStyle” parent=”Widget.AppCompat.Light.PopupMenu.Overflow”
<item name=”overlapAnchor”>false</item>
</style>
在XML文件中的toolbar中引用该属性app:popupTheme=“@style/ToolbarMenuTheme”
运行结果
7.设置menu的点击事件
在目标Activity中,设置onOptionsItemSelected方法
public boolean onOptionsItemSelected(MenuItem item){
switch(item.getItemId()){
case R.id.menu_search:
Toast.makeText(MainActivity.this, “没有你的地方”,LENGTH_SHORT);
break;
case R.id.menu_delete:
Toast.makeText(MainActivity.this, “都是他乡”,LENGTH_SHORT);
break;
case R.id.menu_setting:
Toast.makeText(MainActivity.this, “没有你的旅行”, LENGTH_SHORT);
break;
case R.id.menu_setting2:
Toast.makeText(MainActivity.this,”都是流浪”,LENGTH_SHORT);
break;
}
}
运行效果:
demo下载地址:
http://download.csdn.net/download/u014078990/9959833