Android开发丶MaterialDesign实战のToolbar

来源:互联网 发布:mac上word文档丢失 编辑:程序博客网 时间:2024/05/19 15:39

1.先添加design的依赖

2.AppTheme中改为NoActionBar

3.xml文件里添加Toolbar控件

注意两个配置

android:theme=@style/ThemeOverlay.AppCompat.Dark.ActionBar

app:Theme="@style/ThemeOverlay.AppCompat.Light"

4.MainActivityonCreate()方法中设置

setSupportActionBar(toobar);

运行效果:

 

5.尝试更改Toolbar中默认的文字,在清单文件AndroidManifestActivity增加节点

android:label=”Fantasychong

运行结果:

 

6.Toolbar添加多个菜单按钮

res目录下新建一个menu文件,里面设置好item属性,其中showsAction属性有三种值,alwaysifRoomneveralways表示如果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中引用该属性apppopupTheme=@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

点击打开链接

 

 

 

 

原创粉丝点击