Toolbar设置标题居中

博客探讨了在Android中如何将Toolbar的标题居中显示。通过添加ImageView并设置为白色叉叉,实现了视觉上的标题隐藏,但提问者寻求更优雅的解决方案,希望避免直接将title设为空字符串,以保持TextView的存在。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

    人真的是不能偷懒,拿写代码来说,一些常用的代码,如果个人不费点功夫把它记录下来的话,下次再用到,又要费功夫去搜索。所以,遇到好的资源,还是老老实实记录保存一下吧。
    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>

    2.Activity代码,设置title为空字符串。

    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依然是存在的。不知道有没有更好的方法解决这个问题,请大神指导。


评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值