无法将文字在工具栏标题中居中

时间:2018-06-19 13:03:16

标签: android

这是图片:enter image description here

我在textview内部使用了toolbar,并尝试使用textviewgravity="center"居中。我想将textview居中而不使用margin shiftspadding shiftstranslationX

           <android.support.v7.widget.Toolbar
                android:id="@+id/toolbar"
                app:title="Train App"
                app:collapseIcon="@mipmap/ic_launcher"
                app:titleTextColor="@color/primaryTextColor"
                android:layout_height="?attr/actionBarSize"
                app:layout_collapseMode="pin"
                android:layout_width="match_parent"
                android:contentInsetLeft="0dp"
                android:contentInsetStart="0dp"
                app:contentInsetLeft="0dp"
                app:contentInsetStart="0dp"
                android:contentInsetRight="0dp"
                android:contentInsetEnd="0dp"
                app:contentInsetRight="0dp"
                app:contentInsetEnd="0dp">

                <RelativeLayout
                    android:layout_width="match_parent"
                    android:layout_height="match_parent">

                    <TextView
                        android:id="@+id/appTitle"
                        android:layout_width="match_parent"
                        android:layout_height="match_parent"
                        android:text="Train App"
                        android:gravity="center"
                        android:textSize="20sp"
                        android:textColor="@color/primaryTextColor"/>

                    <ImageView
                        android:layout_width="wrap_content"
                        android:layout_height="wrap_content"
                        android:src="@drawable/ic_mood_white_24dp"
                        android:layout_alignParentRight="true"
                        android:layout_centerInParent="true"
                        android:layout_marginRight="10dp"/>

                </RelativeLayout>

            </android.support.v7.widget.Toolbar>

3 个答案:

答案 0 :(得分:0)

您可以尝试执行以下操作:

<FrameLayout
    android:layout_width="match_parent"
    android:layout_height="?attr/actionBarSize">
    <android.support.v7.widget.Toolbar
        android:id="@+id/toolbar"
        android:layout_width="match_parent"
        android:layout_height="match_parent"
        app:theme="@style/AppTheme.AppBarOverlay"/>

    <TextView
        android:layout_width="wrap_content"
        android:layout_height="match_parent"
        android:layout_gravity="center"
        android:drawablePadding="@dimen/bounds_m"
        android:fontFamily="@font/quicksand"
        android:gravity="center"
        android:text="@string/appname"
        android:textAppearance="?android:attr/textAppearanceMedium"
        android:textColor="@color/white"/>
</FrameLayout>

关于 ic_mood_white_24dp ,只需使用选项菜单,而不是将其放在工具栏中。

答案 1 :(得分:0)

尝试一下。

<android.support.design.widget.AppBarLayout
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:theme="@style/AppTheme.AppBarOverlay">

            <android.support.v7.widget.Toolbar
                android:id="@+id/toolbar"
                android:layout_width="match_parent"
                android:layout_height="wrap_content"
                android:background="@android:color/holo_blue_light"
                android:contentInsetEnd="0dp"
                android:contentInsetLeft="0dp"
                android:contentInsetRight="0dp"
                android:contentInsetStart="0dp"
                app:contentInsetEnd="0dp"
                app:contentInsetLeft="0dp"
                app:contentInsetRight="0dp"
                app:contentInsetStart="0dp">

                <RelativeLayout
                    android:layout_width="match_parent"
                    android:layout_height="match_parent">

                    <TextView
                        android:id="@+id/appTitle"
                        android:layout_width="wrap_content"
                        android:layout_height="match_parent"
                        android:layout_centerInParent="true"
                        android:gravity="center"
                        android:text="Train App"
                        android:textColor="@android:color/background_dark"
                        android:textSize="20sp" />

                    <ImageView
                        android:layout_width="wrap_content"
                        android:layout_height="wrap_content"
                        android:layout_alignParentRight="true"
                        android:layout_centerInParent="true"
                        android:layout_marginRight="10dp"
                        />

                </RelativeLayout>

            </android.support.v7.widget.Toolbar>

        </android.support.design.widget.AppBarLayout>

答案 2 :(得分:0)

您必须在android:layout_centerHorizontal="true"中添加TextView属性。

赞:

<RelativeLayout
            android:layout_width="match_parent"
            android:layout_height="match_parent">

            <TextView
                android:id="@+id/appTitle"
                android:layout_width="wrap_content"
                android:layout_height="match_parent"
                android:gravity="center"
                android:layout_centerHorizontal="true"
                android:text="Train App"
                android:textColor="@color/colorPrimary"
                android:textSize="20sp" />

            <ImageView
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:layout_alignParentRight="true"
                android:layout_centerInParent="true"
                android:layout_marginRight="10dp"
                android:src="@mipmap/ic_launcher" />

        </RelativeLayout>