Toolbar-标题栏的使用

一:在布局文件中添加Toolbar控件(v7)
<android.support.v7.widget.Toolbar>
</android.support.v7.widget.Toolbar>
 
二:初始化控件

三:关于标题及图标
1.设置导航图标及监听控件
toolbar.setNavigationIcon(R.mipmap.ic_launcher);
toolbar.setNavigationOnClickListener(new View.OnClickListener() {}
2.设置标题名称
toolbar.setTitle(R.string.title);
3.设置标题距离左边的距离
toolbar.setTitleMarginStart(60);
4.整体设置标题位置 左上右下的顺序
toolbar.setTitleMargin(150,10,0,0);
5.设置标题颜色
方式1在values.xml文件下加载colors.xml文件:
toolbar.setTitleTextColor(getResources().getColor(R.color.colorAccent));
方式2直接调用系统Color属性:
toolbar.setSubtitleTextColor(Color.parseColor("#0000ff"));
方式3在values.xml文件下加载styles.xml文件可更改字体大小和文字颜色,不能设置文字内容:
toolbar.setTitleTextAppearance(mComtext,R.style.title);

四:关于副标题
1.设置副标题
toolbar.setSubtitle(R.string.sun_title);

五:关于公司logo图片展示
1.设置logo图标及监听事件
toolbar.setLogo(R.mipmap.ic_launcher);
toolbar.setOnLongClickListener(new View.OnLongClickListener() {}

六:关于弹窗(menu)
1.在res资源文件下创建menu包并创建toolbar.xml文件
<menu xmlns:android="http://schemas.android.com/apk/res/android">
<item
    android:id="@+id/share"
    android:title="分享"
    android:icon="@mipmap/ic_launcher"/>
</menu>
2.关联menu文件
toolbar.inflateMenu(R.menu.toolbar);
3.设置弹窗样式(更改颜色)
<style name="menu">
        <item name="android:background">@color/colorAccent</item>
</style>
4.加载弹窗样式 需要在关联之前设置 否则无效
toolbar.setPopupTheme(R.style.menu);
5.关联弹窗
toolbar.inflateMenu(R.menu.toolbar);
6.设置弹窗元素点击事件
toolbar.setOnMenuItemClickListener(new Toolbar.OnMenuItemClickListener() {
            @Override
            public boolean onMenuItemClick(MenuItem item) {
                int itemId = item.getItemId();
                switch (itemId){
                    case R.id.share:
                        Toast.makeText(mComtext,"弹窗",Toast.LENGTH_SHORT).show();
                }
                return false;
            }
        });

七:去除整体标题栏
清单文件<application>-->android:theme="@style/AppTheme"--><style name="AppTheme" parent="Theme.AppCompat.Light.NoActionBar">
 
八:更改通知栏颜色
styles.xml文件下的第二个属性
<item name="colorPrimaryDark">#00ff00</item>
 
九:布局文件中定义标题内容的位置属性
<RelativeLayout>布局的位置属性:
android:layout_centerHorizontal="true"
android:layout_centerVertical="true"
原文地址:https://www.cnblogs.com/livelihood/p/6758709.html