【问题标题】:Toolbar isn't in the center of the AppBarLayout工具栏不在 AppBarLayout 的中心
【发布时间】:2017-03-01 19:30:39
【问题描述】:

我用这个例子构建了一个包含两个 NavigationView 的布局:

http://v4all123.blogspot.de/2016/03/simple-example-of-navigation-view-on.html

它工作正常。但在本网站的演示中,您也可以看到,工具栏不是 100% 在中间。左侧按钮的左侧空间比右侧按钮右侧边框的空间大。

Take a look to the screenshot from Android Studio.

我尝试将每个视图居中,但获得左右相同空间的唯一方法是在右侧添加一个填充。但我不敢相信这是让它到达布局中间的唯一方法。

还有其他技巧可以让工具栏中的按钮和视图居中吗?

<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="false"
tools:context=".frontend.MainActivity">

<android.support.design.widget.AppBarLayout
    android:layout_width="match_parent"
    android:layout_height="wrap_content"
    android:background="@android:color/transparent"
    app:elevation="0dp"
    android:gravity="center">

    <android.support.v7.widget.Toolbar
        android:id="@+id/toolbar"
        android:layout_width="match_parent"
        android:layout_height="?attr/actionBarSize"
        android:background="?attr/colorPrimary"
        android:layout_gravity="center_horizontal"
        android:gravity="center_horizontal"
        app:popupTheme="@style/AppTheme.PopupOverlay">

        <RelativeLayout
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:gravity="center">

            <ImageButton
                android:id="@+id/menuLeft"
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:layout_alignParentLeft="true"
                android:layout_alignParentStart="true"
                android:src="@drawable/ic_menu_white_24dp"
                android:tint="@color/colorPrimary" />
            <TextView
                android:id="@+id/headerLine"
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:layout_centerHorizontal="true"
                android:layout_centerVertical="true"
                android:text="Example application"
                android:textSize="20dp"
                android:layout_marginLeft="10dp"
                android:layout_marginRight="10dp"
                android:textAlignment="center"
                android:maxLines="1"
                android:lines="1"
                android:layout_toRightOf="@+id/menuLeft"
                android:layout_toLeftOf="@+id/menuRight"
                android:singleLine="true"
                android:ellipsize="end"
                android:textAppearance="@style/TextAppearance.AppCompat.Body1"
                android:textColor="@color/headerTextColorPrimary" />
            <ImageButton
                android:id="@+id/menuRight"
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:layout_alignParentRight="true"
                android:layout_alignParentEnd="true"
                android:src="@drawable/ic_menu_white_24dp"
                android:tint="@color/colorPrimary" />
        </RelativeLayout>
    </android.support.v7.widget.Toolbar>

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

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

【问题讨论】:

    标签: android android-layout android-toolbar android-appbarlayout


    【解决方案1】:

    添加

    app:contentInsetStart="0dp" 
    

    到您的工具栏。这将删除工具栏左侧的额外填充

    【讨论】:

    • 欢迎。享受编码
    【解决方案2】:

    这里已经回答了。请找到android:contentInsetLeft="0dp"android:contentInsetStart="0dp" 在以下链接中。这对你有用。

    https://stackoverflow.com/a/32320632/4688535

    【讨论】:

    • 谢谢。它适用于...与app:contentInsetLeft="0dp"app:contentInsetStart="0dp"
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-11-20
    • 1970-01-01
    • 2016-05-21
    • 2015-08-24
    • 1970-01-01
    相关资源
    最近更新 更多