工具栏不在 AppBarLayout 的中心
Toolbar isn't in the center of the AppBarLayout
我使用这个示例构建了一个包含两个 NavigationView 的布局:
http://v4all123.blogspot.de/2016/03/simple-example-of-navigation-view-on.html
它工作正常。但在本网站的演示中,您也可以看到,工具栏并非 100% 位于中间。左边的按钮比右边的按钮左边多 space 个。
Take a look to the screenshot from Android Studio.
我尝试使每个视图居中,但要使左右 space 相同的唯一方法是在右侧添加填充。但我无法相信这是将其置于布局中间的唯一方法。
是否还有其他技巧可以使工具栏中的按钮和视图居中?
<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>
添加
app:contentInsetStart="0dp"
您的 toolbar.This 将删除工具栏左侧的额外填充
这里已经回答过了。请找到 android:contentInsetLeft="0dp"
和
android:contentInsetStart="0dp"
在后面 link。这对你有用。
我使用这个示例构建了一个包含两个 NavigationView 的布局:
http://v4all123.blogspot.de/2016/03/simple-example-of-navigation-view-on.html
它工作正常。但在本网站的演示中,您也可以看到,工具栏并非 100% 位于中间。左边的按钮比右边的按钮左边多 space 个。
Take a look to the screenshot from Android Studio.
我尝试使每个视图居中,但要使左右 space 相同的唯一方法是在右侧添加填充。但我无法相信这是将其置于布局中间的唯一方法。
是否还有其他技巧可以使工具栏中的按钮和视图居中?
<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>
添加
app:contentInsetStart="0dp"
您的 toolbar.This 将删除工具栏左侧的额外填充
这里已经回答过了。请找到 android:contentInsetLeft="0dp"
和
android:contentInsetStart="0dp"
在后面 link。这对你有用。