Android工具栏,中心文字布局问题

时间:2016-10-27 13:50:31

标签: android xml layout toolbar

目前在我的工具栏布局上苦苦挣扎 我有两个按钮。一个左对齐,另一个右对齐。文本(应用程序标题)需要位于两个按钮的中心。

实施例: [Button1] [Text] [Button2]

我的问题。文字不是中心对齐的 enter image description here

需要看起来像这样 enter image description here

不确定我做错了什么。已经好几个小时了。

<android.support.design.widget.CoordinatorLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:fitsSystemWindows="true"
tools:context=".OcdListActivity">

<ImageView
    android:id="@+id/imageViewplaces"
    android:layout_width="match_parent"
    android:layout_height="wrap_content"
    android:adjustViewBounds="true"
    android:background="@drawable/bg_toolbar" />

    <android.support.v7.widget.Toolbar
    android:id="@+id/toolbar"
    android:layout_width="match_parent"
    android:layout_height="?attr/actionBarSize"
    android:background="@drawable/background_toolbar_translucent">

    <ImageButton
        android:layout_width="52dp"
        android:layout_height="52dp"
        android:id="@+id/btnBack"
        android:background="@null"
        android:src="@drawable/ic_keyboard_backspace_black_24dp"
        android:layout_gravity="left"
        android:layout_alignParentStart="true"
        android:layout_alignParentLeft="true"
        android:onClick="doBackButton_click"
        android:tint="@color/colorBtnWhite" />

        <TextView
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:text="My list"
            android:textColor="@color/colorBtnWhite"
            android:gravity="center"
            android:id="@+id/toolbar_title" />

        <ImageButton
            android:layout_width="52dp"
            android:layout_height="52dp"
            android:id="@+id/btnMenu"
            android:background="@null"
            android:src="@drawable/ic_reorder_black_24dp"
            android:onClick="doMenuButton_click"
            android:layout_gravity="right"
            android:layout_alignParentEnd="true"
            android:layout_alignParentRight="true"
            android:tint="@color/colorBtnWhite" />

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

<include layout="@layout/content_ocdlist" />

<android.support.design.widget.FloatingActionButton
    android:id="@+id/fab"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:layout_gravity="bottom|end"
    android:layout_margin="@dimen/fab_margin"
    android:tint="@android:color/white"
    app:backgroundTint="@color/colorPrimaryDark"
    android:src="@android:drawable/ic_input_add" />

提前致谢

3 个答案:

答案 0 :(得分:2)

TextView你必须改变

android:gravity="center"

android:layout_gravity="center"

答案 1 :(得分:1)

在您的活动(视图)中执行此操作:

Toolbar toolbar = (Toolbar) findViewById(R.id.toolbar);
toolbar.setContentInsetsAbsolute(0, 0); // remove toolbar margin from left/right

答案 2 :(得分:0)

我不太熟悉Toolbar,它只是ViewGroup的一个子类,但是我通常会尽可能地去RelativeLayout。我知道当你使用很多(特别是嵌套的)时它会有一些性能问题,但在这种情况下应该没问题。

这样的事情应该达到你所寻找的目标:

<android.support.v7.widget.Toolbar
    android:id="@+id/toolbar"
    android:layout_width="match_parent"
    android:layout_height="?attr/actionBarSize"
    android:background="@drawable/background_toolbar_translucent">

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

        <ImageButton
            android:layout_width="52dp"
            android:layout_height="52dp"
            android:id="@+id/btnBack"
            android:background="@null"
            android:src="@drawable/ic_keyboard_backspace_black_24dp"
            android:layout_alignParentLeft="true"
            android:layout_centerVertical="true"
            android:onClick="doBackButton_click"
            android:tint="@color/colorBtnWhite" />

        <TextView
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:text="My list"
            android:textColor="@color/colorBtnWhite"
            android:gravity="center"
            android:layout_centerInParent="true"
            android:id="@+id/toolbar_title" />

        <ImageButton
            android:layout_width="52dp"
            android:layout_height="52dp"
            android:id="@+id/btnMenu"
            android:background="@null"
            android:src="@drawable/ic_reorder_black_24dp"
            android:onClick="doMenuButton_click"
            android:layout_alignParentRight="true"
            android:layout_centerVertical="true"
            android:tint="@color/colorBtnWhite" />


    </RelativeLayout>

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