Toolbar控件里面嵌套其他布局时,默认你会发现距左边有一定的距离;距顶部也有一定的距离。
查看Toolbar Style查其原因:
<style name="Base.V7.Widget.AppCompat.Toolbar" parent="android:Widget">
<item name="titleTextAppearance">@style/TextAppearance.Widget.AppCompat.Toolbar.Title</item>
<item name="subtitleTextAppearance">@style/TextAppearance.Widget.AppCompat.Toolbar.Subtitle</item>
<item name="android:minHeight">?attr/actionBarSize</item>
// 距离顶部的距离
<item name="titleMargin">4dp</item>
<item name="maxButtonHeight">@dimen/abc_action_bar_default_height_material</item>
<item name="buttonGravity">top</item>
<item name="collapseIcon">?attr/homeAsUpIndicator</item>
<item name="collapseContentDescription">@string/abc_toolbar_collapse_description</item>
//这个地方就是就是距离左边一定距离的设置
<item name="contentInsetStart">16dp</item>
<item name="contentInsetStartWithNavigation">@dimen/abc_action_bar_content_inset_with_nav</item>
<item name="android:paddingLeft">@dimen/abc_action_bar_default_padding_start_material</item>
<item name="android:paddingRight">@dimen/abc_action_bar_default_padding_end_material</item>
</style>
处理方式可以有两种:
第一种:
style里面复写 ToolBar:
例:
<!--自定义Toolbar据左边距的处理-->
<style name="MyToolbar" parent="Widget.AppCompat.Toolbar">
<item name="contentInsetStart">0dp</item>
<item name="titleMargin">0dp</item>
</style>
第二种在xml里面可以直接修改其属性:
app:contentInsetLeft="0dp"
app:contentInsetStart="0dp"
app:contentInsetEnd="0dp"
app:maxButtonHeight="20dp"
app:titleMargin="0dp"
完整:
androidx.appcompat.widget.Toolbar xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
android:id="@+id/toolbar"
android:layout_width="match_parent"
android:layout_height="?attr/actionBarSize"
android:padding="0dp"
android:fitsSystemWindows="true"
app:contentInsetLeft="0dp"
app:contentInsetStart="0dp"
app:contentInsetEnd="0dp"
app:maxButtonHeight="20dp"
app:titleMargin="0dp">
……