人真的是不能偷懒,拿写代码来说,一些常用的代码,如果个人不费点功夫把它记录下来的话,下次再用到,又要费功夫去搜索。所以,遇到好的资源,还是老老实实记录保存一下吧。
Toolbar的标题栏,只能编辑标题的内容和样式,但是改变不了标题的位置,如果想要标题居中显示,就需要自定义Toolbar,实现 方式如下:
1.布局文件,在toolbar中加入一个TextView。
<android.support.v7.widget.Toolbar
android:id="@+id/toolbar"
android:layout_width="match_parent"
android:layout_height="?attr/actionBarSize"
android:background="?attr/colorPrimary"
app:popupTheme="@style/AppTheme.PopupOverlay">
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="center"
android:textSize="20sp"
android:text="标题"/>
</android.support.v7.widget.Toolbar>
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
Toolbar toolbar = (Toolbar) findViewById(R.id.toolbar);
toolbar.setTitle("");
setSupportActionBar(toolbar);
}
得到的结果如下:
当然,按照此方法,我们还可以定制toolbar的按钮。修改上面的布局文件如下:
<android.support.v7.widget.Toolbar
android:id="@+id/toolbar"
android:layout_width="match_parent"
android:layout_height="?attr/actionBarSize"
android:background="?attr/colorPrimary"
app:popupTheme="@style/AppTheme.PopupOverlay">
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="center"
android:textSize="20sp"
android:text="标题"/>
<ImageView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:src="@drawable/ic_close_white_24dp"
android:layout_gravity="right"
android:layout_marginRight="16dp"/>
</android.support.v7.widget.Toolbar>
添加了一个ImageView,图片是一个白色的叉叉,得到的结果如下:
这样的操作虽然简单,但是粗暴的把原来的title设置为空字符串,虽然视觉上title是消失了,但理论上来说,title所在的TextView依然是存在的。不知道有没有更好的方法解决这个问题,请大神指导。