Toolbar简单使用

Toolbar

本文主要介绍Toolbar的使用,toolbar这个控件在v7包下,废话不多说,直接讲解步骤。

  • 首先主题(style)要继承NoActionBar



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

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

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

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

    </style>
  • 在布局文件中引入toobar



    <android.support.v7.widget.Toolbar

            android:id="@+id/toolbar"

            android:layout_width="match_parent"

            android:layout_height="wrap_content"/>

toolbar可以设置标题(title)和子标题(subTitle)

  • 在Activity中设置setSupportActionBar(toolbar);

这样toolbar就显示出来了。

设置左侧的图标


app:navigationIcon="@mipmap/ic_launcher_round"

设置logo


app:logo="@android:drawable/ic_lock_power_off"

注意上图的navtgation和logo的区别

toolbar标题的文字可以根据titleTextAppearance来更改文字的大小

 app:titleTextAppearance="@style/ToolbarTextStyle"





<!--设置toolbar标题的文字样式-->

<style name="ToolbarTextStyle" parent="TextAppearance.Widget.AppCompat.Toolbar.Title">

    <item name="android:textSize">13sp</item>

</style>

还可以使用自带的返回箭头,这时需要去掉navigationIcon,不然无法显示自带的返回按钮。




        setSupportActionBar(toolbar);



        ActionBar actionBar = getSupportActionBar();

        if (null != actionBar) {

            actionBar.setHomeButtonEnabled(true);

            actionBar.setDisplayHomeAsUpEnabled(true);

        }

注意getSupportActionBar需要在setSupportActionBar后面调用

同样的,点击左侧按钮的事件监听是




    toolbar.setNavigationOnClickListener(new View.OnClickListener() {

                @Override

                public void onClick(View v) {

                    Toast.makeText(MainActivity.this, "返回", Toast.LENGTH_SHORT).show();

                }

            });

还有一种返回activity的方式:

就是在清单文件中配置:在目标的activity中配置

<activity

            android:name=".SecondActivity"

            android:parentActivityName=".MainActivity"

            >

        //兼容4.0以下的版本

            <meta-data

                android:name="android.support.PARENT_ACTIVITY"

                android:value=".MainActivity"

                />

        </activity>
  • 设置toolbar的菜单

    在activity中重写onCreateOptionsMenu




    @Override

        public boolean onCreateOptionsMenu(Menu menu) {

            getMenuInflater().inflate(R.menu.menu_main, menu);

            return true;

        }

菜单的点击事件需要重写


     @Override

        public boolean onOptionsItemSelected(MenuItem item) {

            return true;

        }

猜你喜欢

转载自blog.csdn.net/WzhVae/article/details/79942964