やりたいこと
方法
回避したい View を CoordinatorLayout の内側に配置して app:layout_dodgeInsetEdges を指定する
<CoordinatorLayout>
<!-- 回避したいView -->
<View app:layout_dodgeInsetEdges="bottom" />
</CoordinatorLayout>
調べた
-
24.2.0 のバージョンで
CoordinatorLayout.Behaviorを継承してカスタムする方法からapp:layout_dodgeInsetEdgesを設定する方法に変わったようです。 -
下から以外の他の方向からの Inset に対応したい場合は
allを設定する方法があります。
あと FAB が Snackbar をよける動作を一般化した app:layout_dodgeInsetEdges (よける) と app:layout_insetEdge (よけさせる) も使って欲しい。
— Yuichi Araki (@yuichi_araki) 2016年8月18日
- つまり、 Snackbar には
app:layout_insetEdgeの属性が付与されているということみたいです。
この機能が実装されてから随分経つはずですが、知りませんでした。