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.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

点击打开链接

 

 

 

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值