android Toolbarの左側に謎の余白

広告

Toolbarの内要素RelativeLayoutにmarginもpaddingもしていないのになぜか隙間ができてしまう・・・
RelativeLayoutはmatch_parentだし親要素も隙間ができる指定もしてないのに、なぜ??( ゚Д゚)




ちなみにxmlはこんな感じ。
<android.support.v7.widget.Toolbar
android:layout_width="match_parent"
android:layout_height="?attr/actionBarSize"
android:background="?attr/colorPrimary"
app:layout_scrollFlags="scroll|enterAlways" >
<RelativeLayout
android:layout_width="match_parent"
android:layout_height="match_parent" >
<ImageView
android:id="@+id/home_bt"
android:layout_width="30dp"
android:layout_height="30dp"
android:layout_alignParentLeft="true"
android:background="@drawable/icon_home"/>
<ImageView
android:id="@+id/folder_plus"
android:layout_width="35dp"
android:layout_height="35dp"
android:layout_alignParentRight="true"
android:background="@drawable/icon_folder_plus"/>
</RelativeLayout>
</android.support.v7.widget.Toolbar>
HOMEボタン(ImageView @+id/home_bt)の左側に謎の余白ができてます。
勿論、親要素でもマージンは指定していません。

結論


ToolbarにcontentInsetStart要素を追加して余白指定を「0」にして解決。
<android.support.v7.widget.Toolbar
android:layout_width="match_parent"
android:layout_height="?attr/actionBarSize"
android:background="?attr/colorPrimary"
app:contentInsetStart="0dp" // これ一行追加
app:layout_scrollFlags="scroll|enterAlways" >
<RelativeLayout
android:layout_width="match_parent"
android:layout_height="match_parent" >
<ImageView
android:id="@+id/home_bt"
android:layout_width="30dp"
android:layout_height="30dp"
android:layout_alignParentLeft="true"
android:background="@drawable/icon_home"/>
<ImageView
android:id="@+id/folder_plus"
android:layout_width="35dp"
android:layout_height="35dp"
android:layout_alignParentRight="true"
android:background="@drawable/icon_folder_plus"/>
</RelativeLayout>
</android.support.v7.widget.Toolbar>
デフォでマージンがつくみたい。地味にはまりました。。。

参考


https://woshidan.hatenablog.com/entry/2015/11/07/154106
http://amyu.hatenadiary.com/entry/2014/12/13/000000
広告

Profile