首先定义一个style:
然后:
<android.support.v7.widget.Toolbar
android:id="@+id/toolbar"
android:layout_width=“match_parent”
android:layout_height="?attr/actionBarSize"
android:background="@color/colorAccent"
app:logo="@mipmap/ic_launcher"
app:navigationContentDescription=""
app:navigationIcon="@drawable/ic_back_white_24dp"
app:subtitle=“子标题”
app:subtitleTextColor="@color/white"
app:title=“标题”
app:titleMarginStart=“90dp”
app:titleTextAppearance="@style/ToolbarTitle"
app:titleTextColor="@color/white">
效果图这里不在贴出了,通过app:titleTextAppearance=”@style/ToolbarTitle”方法的设置,就能修改标题字体的大小,当然文字颜色也可以修改。
到这里,你可能要问了,如果,我想要标题居中,怎么办呢?查看api,toolbar没有使其居中的方法,也就提供了使其距左右,上下边距大小的方法。不过不用担心,这里还是有办法的。看如下代码:
<android.support.v7.widget.Toolbar
android:id="@+id/toolbar"
android:layout_width=“match_parent”
android:layout_height="?attr/actionBarSize"
android:background="@color/colorAccent">
<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.setDisplayHom