如何使用 Android SDK API 版本 21(支持库)摆脱新工具栏中的额外填充?
我说的是这张图片上的红色箭头:
这是我正在使用的代码:
<android.support.v7.widget.Toolbar android:id="@+id/toolbar" android:layout_height="wrap_content" android:layout_width="match_parent" android:background="?attr/colorPrimary" android:padding="0dp" android:layout_margin="0dp"> <RelativeLayout android:id="@+id/action_bar_layout" android:layout_width="match_parent" android:layout_height="match_parent" android:layout_margin="0dp" android:padding="0dp" android:background="#000000"> <Spinner android:layout_width="wrap_content" android:layout_height="wrap_content"/> </RelativeLayout> </Toolbar>
如您所见,我已将所有相关填充设置为 0,但 Spinner 周围仍有填充。我做错了什么或者我需要做什么来摆脱额外的填充?
编辑 有些人质疑我为什么要这样做。
根据 Material Design 规范,微调器应距左侧 72dp
我需要中和谷歌放在那里的填充,以便正确放置我的微调器:
编辑 2
根据下面 Chris Bane 的回答,我将 contentInsetStart 设置为 0。对于支持库,您需要使用 app 命名空间:
<android.support.v4.widget.DrawerLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:app="http://schemas.android.com/apk/res-auto" android:layout_width="match_parent" android:layout_height="match_parent"> <android.support.v7.widget.Toolbar android:id="@+id/toolbar" android:layout_height="wrap_content" android:layout_width="match_parent" android:minHeight="@dimen/action_bar_height" android:background="?attr/colorPrimary" android:contentInsetStart="0dp" android:contentInsetLeft="0dp" app:contentInsetLeft="0dp" app:contentInsetStart="0dp" app:theme="@style/ThemeOverlay.AppCompat.Dark.ActionBar" app:popupTheme="@style/ThemeOverlay.AppCompat.Light"> </android.support.v4.widget.DrawerLayout>
我希望这对某人有所帮助,这让我困惑了好几天。
左插图是contentInsetStart由默认为 16dp 的工具栏引起的。
contentInsetStart
将此更改为 72dp 以与关键线对齐。
支持库 v24.0.0 的更新:
为了匹配 Material Design 规范,还有一个附加属性contentInsetStartWithNavigation,默认为 16dp。如果您还有导航图标,请更改此设置。
contentInsetStartWithNavigation