登录 立即注册
安币:

安卓巴士 - 安卓开发 - Android开发 - 安卓 - 移动互联网门户

查看: 153|回复: 4

android ToolBar的简单使用,android toolbar使用

[复制链接]

441

主题

826

帖子

1970

安币

手工艺人

发表于 2018-3-13 10:33:40 | 显示全部楼层 |阅读模式

            

        本文实例为大家分享了toolbar的使用方法,供大家参考,具体内容如下

        

2017120411361515.jpg

        toolbar时应用的标准工具栏;用来替代actionbar;

        使用toolbar必须在activity配置theme中去掉actionbar,例如使用

[Java] 查看源文件 复制代码
theme.appcompat.light.noactionbar 

        或者在主题style中自定义style:

[Java] 查看源文件 复制代码
<style name="appthemenocolour" parent="theme.appcompat.light.noactionbar"> 
        <!--下面两行是取消actionbar和去掉title;这两行必须要,下面的四行可以自定义去留--> 
        <item name="android:windowactionbar">false</item> 
        <item name="android:windownotitle">true</item> 
        <!-- 状态栏颜色 --> 
        <item name="colorprimarydark">@android:color/black</item> 
        <!-- 窗口的背景颜色 --> 
        <item name="android:windowbackground">@android:color/white</item> 
        <item name="coloraccent">@color/coloraccent</item> 
        <item name="android:windowdrawssystembarbackgrounds">false</item> 
    </style> 

        接下来我们看下布局:

[Java] 查看源文件 复制代码
<linearlayout xmlns:android="http://schemas.android.com/apk/res/android" 
  xmlns:tools="http://schemas.android.com/tools" 
  android:layout_width="match_parent" 
  android:layout_height="match_parent" 
  tools:context="www.toolbar.com.toolbardemo.mainactivity" 
  android:orientation="vertical"> 
 
  <android.support.v7.widget.toolbar 
    android:layout_width="match_parent" 
    android:layout_height="56dp" 
    android:id="@+id/toolbar" 
    android:background="@android:color/holo_blue_dark" 
    /> 
 
</linearlayout> 

        toolbar可以设置返回键、图标、标题、副标题、菜单

[Java] 查看源文件 复制代码
toolbar toolbar= (toolbar) findviewbyid(r.id.toolbar); 
 
//把布局中的toolbar当作actionbar 
setsupportactionbar(toolbar); 
//设置图标 
toolbar.setlogo(r.mipmap.ic_launcher); 
//设置标题 
getsupportactionbar().settitle("zhengdang"); 
//设置副标题 
toolbar.setsubtitle("2015.01.13"); 
//设置返回键 
getsupportactionbar().setdisplayhomeasupenabled(true); 

        返回键还可以设置监听:

[Java] 查看源文件 复制代码
toolbar.setnavigationonclicklistener(new view.onclicklistener() { 
      @override 
      public void onclick(view v) { 
        toast.maketext(mainactivity.this,"你点击了返回按钮",toast.length_short).show(); 
 
      } 
    }); 

        配置菜单首先要先自定义menu布局:在res ---> menu 下创建xml文件:

[Java] 查看源文件 复制代码
<menu xmlns:android="http://schemas.android.com/apk/res/android" 
  xmlns:app="http://schemas.android.com/apk/res-auto"> 
 
  <!-- 
    showasaction: 
    ifroom 
    会显示在item中,但是如果已经有4个或者4个以上的item时会隐藏在溢出列表中。 
    当然个数并不仅仅局限于4个,依据屏幕的宽窄而定 
 
    never 
    永远不会显示。只会在溢出列表中显示,而且只显示标题,所以在定义item的时候,最好把标题都带上。 
 
    always 
    无论是否溢出,总会显示。 
 
    withtext 
    withtext值示意action bar要显示文本标题。action bar会尽可能的显示这个标题, 
    但是,如果图标有效并且受到action bar空间的限制,文本标题有可能显示不全。 
 
    collapseactionview 
    声明了这个操作视窗应该被折叠到一个按钮中,当用户选择这个按钮时, 
    这个操作视窗展开。否则,这个操作视窗在默认的情况下是可见的,并且即便在用于不适用的时候, 
    也要占据操作栏的有效空间。 
    --> 
  <item 
    android:id="@+id/action_setting" 
    android:orderincategory="100" 
    android:title="settings" 
    app:showasaction="always" 
    android:icon="@drawable/scan_bg" 
    /> 
 
  <item 
    android:id="@+id/action_ufc" 
    android:orderincategory="100" 
    android:title="ufc" 
    /> 
 
  <item 
    android:id="@+id/action_wlf" 
    android:orderincategory="100" 
    android:title="武林风" 
    /> 
  <item 
    android:id="@+id/action_klf" 
    android:orderincategory="100" 
    android:title="昆仑决" 
    /> 
</menu>

        然后在mainactivity众设置菜单按钮:

[Java] 查看源文件 复制代码
/** 
   * 设置菜单第一步: 
   * 此方法用于初始化菜单,其中menu参数就是即将要显示的menu实例。 返回true则显示该menu,false 则不显示; 
   * (只会在第一次初始化菜单时调用) 
   */ 
  public boolean oncreateoptionsmenu(menu menu) { 
    getmenuinflater().inflate(r.menu.menu_main,menu); 
    return super.oncreateoptionsmenu(menu); 
  } 



[Java] 查看源文件 复制代码
//设置菜单第二步:设置菜单按钮 
    toolbar.setonmenuitemclicklistener(new toolbar.onmenuitemclicklistener() { 
      @override 
      public boolean onmenuitemclick(menuitem item) { 
        switch (item.getitemid()){ 
          case r.id.action_wlf: 
            toast.maketext(mainactivity.this,"中国搏击市场开拓者",toast.length_short).show(); 
            break; 
          case r.id.action_klf: 
            toast.maketext(mainactivity.this,"世界顶级站立式格斗赛事",toast.length_short).show(); 
            break; 
          case r.id.action_ufc: 
            toast.maketext(mainactivity.this,"世界顶级无限制格斗赛事",toast.length_short).show(); 
            break; 
          case r.id.action_setting: 
            toast.maketext(mainactivity.this,"扫一扫",toast.length_short).show(); 
            break; 
        } 
        return false; 
      } 
    }); 

        点击打开链接免费下载源码



        

3

主题

9160

帖子

1812

安币

Android大神

Rank: 6Rank: 6

QQ达人

发表于 2018-3-13 23:20:28 | 显示全部楼层
感谢分享,安卓巴士有你更精彩:lol

9

主题

9272

帖子

1798

安币

Android大神

Rank: 6Rank: 6

发表于 2018-3-14 22:23:03 | 显示全部楼层
感谢分享,安卓巴士有你更精彩:lol

85

主题

9495

帖子

2209

安币

Android大神

Rank: 6Rank: 6

发表于 2018-3-16 05:09:08 | 显示全部楼层
支持,感谢,祝巴士越来越好~

28

主题

1万

帖子

1387

安币

Android大神

小白

Rank: 6Rank: 6

发表于 2018-3-17 11:13:46 | 显示全部楼层
帮帮顶顶!!
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

站长推荐

通过邮件订阅最新安卓weekly信息
上一条 /4 下一条

下载安卓巴士客户端

全国最大的安卓开发者社区
联系我们
关闭
合作电话:
13802416937
Email:
435399051@qq.com
商务市场合作/投稿
问题反馈及帮助
联系我们

广告投放| 下载客户端|申请友链|手机版|站点统计|安卓巴士 ( 粤ICP备15117877号 )

快速回复 返回顶部 返回列表