Android 6.0特性(ToolBar)

本文介绍了Android 6.0中的ToolBar,作为Material Design风格的标题控件,它替代了传统的ActionBar。ToolBar提供了更灵活的位置设置,可以设置导航图标、App Logo,支持标题和子标题,允许添加自定义控件以及ActionMenu。文章详细阐述了如何在布局中使用ToolBar,包括设置无ActionBar主题,添加背景、子标题和控件,以及创建和添加Menu视图。
摘要由CSDN通过智能技术生成

1,介绍

  • Toolbar是在Andoid 5.0 推出的一个Material Design 风格的标题控件

  • Google  非常推荐大家使用Toolbar作为Android  客户端的导航栏,来取代ActionBar

优点:

  • 位置灵活:ActionBar 一定要固定在Activity的顶部,Toolbar  可以放在界面的任意位置 

  • 设置导航栏图标

  • 设置App的Logo

  • 支持设置标题栏和子标题栏

  • 支持添加一个或多个自定义控件

  • 支持ActionMenu

 

 

2,实现逻辑

 【1】布局中使用,可以设置不同的位置,可以当一个布局使用

<?xml version="1.0" encoding="utf-8"?>

<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"

    xmlns:tools="http://schemas.android.com/tools" android:id="@+id/activity_main"

    android:layout_width="match_parent" android:layout_height="match_parent"

    tools:context="com.itheima.a006_toolbar.MainActivity">





    <android.support.v7.widget.Toolbar

        android:id="@+id/toolbar"

        android:background="@color/colorPrimaryDark"

        android:layout_width="match_parent"

        android:layout_height="wrap_content">

        <Button

            android:text="我"

            android:layout_width="10dp"

            android:layout_height="wrap_content" />

        </android.support.v7.widget.Toolbar>

</RelativeLayout>



  • 设置没有Actionbar的主题 

   

 <!-- Base application theme. -->

    <style name="AppTheme" parent="Theme.AppCompat.Light.NoActionBar">

        <!-- Customize your theme here. -->

        <item name="colorPrimary">@color/colorPrimary</item>

        <item name="colorPrimaryDark">@color/colorPrimaryDark</item>

        <item name="colorAccent">@color/colorAccent</item>

    </style>

【2】添加背景,子标题, 标题,添加控件

//找到控件        

Toolbar toolbar= (Toolbar) findViewById(R.id.toolbar);

//设置标题

toolbar.setTitle("我是标题");

设置字体颜色        

toolbar.setTitleTextColor(Color.RED);

//设置图标的Logo

toolbar.setLogo(R.mipmap.ic_launcher);

//设置子标题        

toolbar.setSubtitle("我是子标题");

//设置子标题的颜色        

toolbar.setSubtitleTextColor(Color.GREEN);

//设置图片

toolbar.setNavigationIcon(R.mipmap.navi);

 

【3】创建Menu视图

  • res 创建menu 文件

  • 创建menu文件  toolbar_menu_items

  •     <!--always优先显示-->

  •     <!--withText显示文件 根据标题栏的宽度-->

  •     <!--never只显示在隐藏菜单-->

  •     <!--ifRoom 看标题栏的剩余空间-->

<?xml version="1.0" encoding="utf-8"?>

<menu xmlns:android="http://schemas.android.com/apk/res/android"

    xmlns:app="http://schemas.android.com/apk/res-auto">

   

    <item

        android:id="@+id/menu1"

        app:showAsAction="always|withText"

        android:icon="@android:drawable/ic_delete"

        android:title="删除" />

    <item

        android:id="@+id/menu2"

        app:showAsAction="never"

        android:icon="@android:drawable/ic_menu_add"

        android:title="添加" />

</menu>
  • 添加到menu菜单上

  toolbar.inflateMenu(R.menu.toolbar_menu_items);

        toolbar.setOnMenuItemClickListener(new Toolbar.OnMenuItemClickListener() {

            @Override

            public boolean onMenuItemClick(MenuItem item) {

                int itemId = item.getItemId();

                switch (itemId)

                {

                    case R.id.menu1:

                        Toast.makeText(ToolbarMainActivity.this, item.getTitle(), Toast.LENGTH_SHORT).show();

                        break;

                    case R.id.menu2:

                        Toast.makeText(ToolbarMainActivity.this, item.getTitle(), Toast.LENGTH_SHORT).show();

                        break;

                }

                return true;

            }

        });



 

 

 

 

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

兴帅_

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值