在自定义toolbar的布局时,如果内部使用的布局继承自ViewGroup
(比如LinearLayout、RelativeLayout等),则会在左侧出现一块空白,导致整个toolabr布局右移。
一行 代码搞定右移的问题
app:contentInsetStart="0dp"
代码如下:
<android.support.v7.widget.Toolbar android:id="@+id/lcs_discover_toolbar" android:layout_width="match_parent" android:layout_height="90dp" android:minHeight="?attr/actionBarSize" android:gravity="top" android:layout_marginBottom="10dp" app:contentInsetStart="0dp" app:layout_collapseMode="pin" app:titleMarginTop="10dp"> <RelativeLayout android:layout_width="match_parent" android:layout_height="wrap_content"> <ImageButton android:layout_alignParentLeft="true" android:layout_marginLeft="10dp" android:layout_centerVertical="true" android:id="@+id/lcs_discover_msg" android:clickable="true" android:background="@android:color/transparent" android:src="@drawable/discover_msg" android:layout_width="wrap_content" android:layout_height="wrap_content" /> <TextView android:layout_centerInParent="true" android:layout_centerVertical="true" android:id="@+id/lcs_discover_toolbar_title" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_gravity="center_horizontal" android:gravity="center_horizontal" android:text="@string/lcs_discover_toolbar_title" android:textColor="@color/white" android:textSize="17sp" /> <ImageButton android:id="@+id/lcs_discover_search" android:clickable="true" android:layout_centerVertical="true" android:layout_marginRight="10dp" android:background="@android:color/transparent" android:src="@drawable/discover_seach_iocn" android:layout_alignParentRight="true" android:layout_width="wrap_content" android:layout_height="wrap_content" /> </RelativeLayout> </android.support.v7.widget.Toolbar>
通过查看toolbar的源码发现,当contentInsetStart != RtlSpacingHelper.UNDEFINED || contentInsetEnd != RtlSpacingHelper.UNDEFINED时,会执行mContentInsets.setRelative(contentInsetStart, contentInsetEnd)
相关变量如下:
所以左边会出现5dp的距离
通过分析,我们可以进行解决,在toolbar中加入一条属性即可:
- 1