zoukankan      html  css  js  c++  java
  • Android Toolbar中的title居中问题

    版权声明:本文为xing_star原创文章,转载请注明出处!

    本文同步自http://javaexception.com/archives/167

    Android Toolbar中的title居中问题

    从Toolbar出来后,用Toolbar代替ActionBar越来越常见了。当然了也有App是自定义TitleBar,保持苹果风格的效果。

    近期碰到网易云信的Actionbar那块都是用Toolbar来实现的,导致Title居左,跟整个app的风格不搭,需要修改。

    本文想要记录的是,如何让Toolbar实现title文字水平居中。在android的activity页面里,使用Toolbar.setTitle(“Title”)后,title的位置是位于左边的,太过于靠左了。在Toolbar的源代码中,也不找到相关的Api让其居中显示,那么只能另想办法了。

    参考如下代码来解决问题,xml的布局为:

    <android.support.v7.widget.Toolbar
        android:id="@+id/toolbar"
        android:layout_width="match_parent"
        android:layout_height="?attr/actionBarSize"
        android:background="@color/white"
        app:titleTextAppearance="@style/Toolbar.TitleText"
        app:subtitleTextAppearance="@style/Toolbar.SubTitleText">
     
        <TextView
            android:id="@+id/tv_title"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_gravity="center"
            android:lines="1"
            android:textColor="@color/black"
            android:ellipsize="end"
            android:textSize="16dp" />
    </android.support.v7.widget.Toolbar>

    就是在Toolbar这个父容器下,添加一个TextView控件,让它作为Title显示,隐藏掉Toolbar的TitleView控件。

    封装一个java方法

    private void setTitleText(CharSequence title) {
        if (tvTitle != null) {
            toolbar.setTitle("");
            tvTitle.setText(title);
        } else {
            toolbar.setTitle(title);
        }
    }

    用这种取巧的方式来达到Title居中的目的,也是可以的。 

  • 相关阅读:
    codeforces C. Cows and Sequence 解题报告
    codeforces A. Point on Spiral 解题报告
    codeforces C. New Year Ratings Change 解题报告
    codeforces A. Fox and Box Accumulation 解题报告
    codeforces B. Multitasking 解题报告
    git命令使用
    shell简单使用
    知识束缚
    php 调用系统命令
    数据传输方式(前端与后台 ,后台与后台)
  • 原文地址:https://www.cnblogs.com/xing-star/p/11131044.html
Copyright © 2011-2022 走看看