AndroidのToolbarの左側の余白の指定について
ぐぐればぐぐるほど一体どれがどれなんだーってなったので、まとめ。
一部指定が効く、効かないがあったとしてもどの要素に効くとかはさすがに変わらないでしょ...。
Activityのコード
@Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); Toolbar mToolbar = (Toolbar) findViewById(R.id.custom_toolbar); mToolbar.setNavigationIcon(R.drawable.black_square_30dp); mToolbar.setTitle("Title"); mToolbar.setLogo(R.mipmap.ic_launcher); }
app:contentInsetStart
NavigationIcon以外のToolbar上の要素がToolbarの左端からどの程度余白を空けて配置されるか。
NavigationIconの領域より大きめの値を指定するとTitleの余白に対して、app:contentInsetStart
とapp:titleMarginStart
の
両方が効く、みたいなことになるので合わせて使う場合は要注意。
<android.support.v7.widget.Toolbar android:id="@+id/custom_toolbar" android:background="@android:color/darker_gray" xmlns:android="http://schemas.android.com/apk/res/android" android:orientation="horizontal" android:layout_width="match_parent" app:contentInsetStart="100dp" android:layout_height="?attr/actionBarSize" >
app:titleMarginStart
Titleとその左の要素からの余白をどの程度空けるか。キャプションの位置を調整したい場合は、これで調整するとよいのかも。
<android.support.v7.widget.Toolbar android:id="@+id/custom_toolbar" android:background="@android:color/darker_gray" xmlns:android="http://schemas.android.com/apk/res/android" android:orientation="horizontal" android:layout_width="match_parent" app:contentInsetStart="0dp" app:titleMarginStart="100dp" android:layout_height="?attr/actionBarSize" >
android:paddingLeft
Toolbarの左端からNavigationIconを含む中の要素との余白。 NavigationIconの余白の調整に使えるが、API16以下だとマイナスの値が効かなかったりするが、 Lolipop以上では便利なのでは(Lolipop以下は頑張ってImageView置く)。
<android.support.v7.widget.Toolbar android:id="@+id/custom_toolbar" android:background="@android:color/darker_gray" xmlns:android="http://schemas.android.com/apk/res/android" android:orientation="horizontal" android:layout_width="match_parent" android:paddingLeft="100dp" android:layout_height="?attr/actionBarSize" >
android:layout_marginLeft
Toolbarと画面左端の余白。android:layout_marginXX
は背景の中に白や黒の小さめのToolbarが浮いている、みたいなときに使えばいいと思う。
<android.support.v7.widget.Toolbar android:id="@+id/custom_toolbar" android:background="@android:color/darker_gray" xmlns:android="http://schemas.android.com/apk/res/android" android:orientation="horizontal" android:layout_width="match_parent" android:layout_marginLeft="100dp" android:layout_height="?attr/actionBarSize" >