Android Toolbar简单使用

一:ToolBar简单使用
效果图:
这里写图片描述
布局的代码:

    <android.support.v7.widget.Toolbar
        android:id="@+id/toolbar"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:background="@color/colorPrimary"
        android:theme="@style/Theme.ToolBar.More"
        app:logo="@drawable/logo"
        app:navigationIcon="@mipmap/back_ib"
        app:subtitle="子标题"
        app:subtitleTextAppearance="@style/ToolbarTextAppearanceSubTitle"
        app:subtitleTextColor="@color/white"
        app:title="标题"
        app:titleTextAppearance="@style/ToolbarTextAppearanceTitle"
        app:titleTextColor="@color/white"
        >

        <TextView
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:text="自定义"
            android:textColor="@color/white"
            android:textSize="16sp"/>
    </android.support.v7.widget.Toolbar>

styles.xml中添加如下:

    <style name="ToolbarTextAppearanceTitle">
        <item name="android:textSize">16sp</item>
    </style>

    <style name="ToolbarTextAppearanceSubTitle">
        <item name="android:textSize">14sp</item>
    </style>

Activity中的代码:

 toolbar = (Toolbar) findViewById(R.id.toolbar);
        toolbar.inflateMenu(R.menu.toolbar_menu);
        //action menu操作菜单按钮的点击事件
        toolbar.setOnMenuItemClickListener(new Toolbar.OnMenuItemClickListener() {
            @Override
            public boolean onMenuItemClick(MenuItem item) {
                switch (item.getItemId()) {
                    case R.id.share:
                        Toast.makeText(ToolbarActivity.this, "分享", Toast.LENGTH_SHORT).show();
                        break;
                    case R.id.setting:
                        Toast.makeText(ToolbarActivity.this, "设置", Toast.LENGTH_SHORT).show();
                        break;
                }
                return false;
            }
        });
        //导航按钮的点击事件
        toolbar.setNavigationOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View view) {
                finish();
            }
        });

toolbar_menu.xml

<?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/share"
        android:icon="@drawable/share_icon"
        android:title="分享"
        app:showAsAction="ifRoom" />

    <item
        android:id="@+id/setting"
        android:icon="@drawable/nav_icon_settings"
        android:orderInCategory="100"
        android:title="设置"
        app:showAsAction="never" />

</menu>

二:
注意点:最右边的图标默认是黑色的,如果想修改成白色,需要覆盖android:style/Widget.Holo.Light.ActionButton.Overflow中的这张图标
我们自己定义一个ActionButton.Overflow.More。
more_icon是我们自己的图标

  <style name="Theme.ToolBar.More" parent="Theme.AppCompat.Light.NoActionBar">
        <item name="actionOverflowButtonStyle">@style/ActionButton.Overflow.More</item>
    </style>

    <style name="ActionButton.Overflow.More" parent="android:style/Widget.Holo.Light.ActionButton.Overflow">
        <item name="android:src">@mipmap/more_icon</item>
    </style>

我们查看:android:style/Widget.Holo.Light.ActionButton.Overflow

 <style name="Widget.Holo.Light.ActionButton.Overflow">
        <item name="src">@drawable/ic_menu_moreoverflow_holo_light</item>
        <item name="contentDescription">@string/action_menu_overflow_description</item>
    </style>

继续查看:ic_menu_moreoverflow_holo_light

<selector xmlns:android="http://schemas.android.com/apk/res/android">
    <item android:drawable="@drawable/ic_menu_moreoverflow_normal_holo_light" />
</selector>

继续查看:ic_menu_moreoverflow_normal_holo_light
这里写图片描述

右键-Copy Path 得到图片路径:
F:\Android\sdk\platforms\android-23\android.jar!\res\drawable-hdpi-v4\ic_menu_moreoverflow_normal_holo_light.png

找到android.jar文件复制到另一个文件夹下面,对其直接进行解压即可找到ic_menu_moreoverflow_normal_holo_light.png这张图片,三个点的确是黑色的。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值