woshidan's loose leaf

ぼんやり勉強しています。

Toolbarを置くレイアウト要素にはPaddingを設定しない

ToolbarAppcompatActivityクラスでゴニョゴニョしてくれるActionBarと違って普通のViewGroupなので、Toolbarを置くレイアウト要素にPaddingを設定すると、Toolbarを画面端の間に隙間が出来てかなり微妙なことになる。

f:id:woshidan:20151103125723p:plain

なので、下記のように本来のActivityのレイアウトが入るLayout要素とToolbarの要素を包むLayout要素を用意して、そのLayout要素にはpaddingmarginを設定しない。

<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:tools="http://schemas.android.com/tools"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    tools:context=".MainActivity"
    android:orientation="vertical">
    <android.support.v7.widget.Toolbar
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        >
    </android.support.v7.widget.Toolbar>
    <LinearLayout
        android:layout_width="match_parent"
        android:layout_height="match_parent"
        android:paddingLeft="@dimen/activity_horizontal_margin"
        android:paddingRight="@dimen/activity_horizontal_margin"
        android:paddingTop="@dimen/activity_vertical_margin"
        android:paddingBottom="@dimen/activity_vertical_margin">
        <TextView
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:text="Content"/>
    </LinearLayout>
</LinearLayout>

よく見たら他の例でもそうなってたー!! ぐはー!!