<TextView
android:id="@+id/title"
android:layout_width=“wrap_content”
android:layout_height=“wrap_content”
android:layout_gravity=“center”
android:text=“标题”
android:textColor="@color/white"
android:textSize=“22sp” />
</android.support.v7.widget.Toolbar>
效果图:
注意: 此时 TextView 控件的宽和高都是自适应大小,java 代码中此行代码setSupportActionBar(toolbar);
就不要添加了,否则就会显示不正常。如果你非要添加setSupportActionBar(toolbar);
这行代码的话,TextView 控件的宽要用match_parent属性。这里再次建议setSupportActionBar(toolbar);
这行代码就不要点添加了。
至于它的作用,在此做一下简单的说明吧:
1)在Toolbar这个控件出现之前,其实我们也可以通过 ActionBar actionBar = getSupportActionBar();
方法获取到acitonbar,(前提你的activity主题theme,是采用的带actionbar的主题,如果你采用这样的主题android:theme="@style/Theme.AppCompat.Light.NoActionBar">
拿到的actionBar也是 null,显然是不行的)之后你就可以采用诸如下面的方面来操作actionbar啦。
ActionBar actionBar = getSupportActionBar();
if (actionBar != null) {
actionBar.setDisplayHomeAsUpEnabled(true);
actionBar.setDisplayShowTitleEnabled(true);
actionBar.setTitle(“主标题”);
…
} else {
Log.i(TAG, “onCreate: actionBar is null”);
}
但是,原生自带的ActionBar设置的灵活性,还是有限,因此Toolbar 这个控件,也就应运而生啦!此时,有的小伙伴说了,我虽然使用了Toolbar来代替ActionBar,但是我还想使用ActionBar的一些特性怎么办呢?这个时候 setSupportActionBar(toolbar);
就发挥其作用啦。添加这行代码,你的toolbar可以说也就具有了ActionBar的相关属性了。好啦,到此setSupportActionBar(toolbar) 的作用也讲完了。如果你还不太明白的话,可以参考一下篇文章:
结合menu配置文件的用法。
这里先看一下效果图:
首先在menu文件夹中,创建名为 menu.xml 文件(文件名随意的):
xmlns:app=“http://schemas.android.com/apk/res-auto”>
<item
android:id="@+id/action_search"
android:icon="@drawable/ic_search"
android:title=“Search”
app:showAsAction=“ifRoom” />
<item
android:id="@+id/action_notifications"
android:icon="@drawable/ic_delete_white_24dp"
android:title=“notifications”
app:showAsAction=“ifRoom” />
<item
android:id="@+id/ac