ステータスバーの標高を取り除くにはどうすればよいですか? AppbarLayoutでapp:elevationを0dpに設定すると、標高はステータスバーに表示されなくなりますが、AppbarLayoutの下にも表示されなくなります。
AppbarLayoutの下で標高を取得するにはどうすればよいですか?
これが私の意味のスクリーンショットです: puush link 、ステータスバーの影に注意してください:(
ありがとう!
私たちの懸念は、ステータスバーが透明なときに見えるAppBarLayout
の影についてです。不透明なステータスバーを持つことは常に実行可能ではありません。これは、動的シャドウレンダリングが原因でのみ、Lollipop以上で発生します。マシュマロでは、間違った影がさらに悪化します。
最良の解決策
ルートレイアウトには常にAndroid:fitsSystemWindows="true"
が必要です。そうでない場合、UIはステータスバーの後ろに描画されません。
次に、AppBarLayout
をAndroid:fitsSystemWindows="false"
を持つ別のCoordinatorLayout
でラップします。これにより、シャドウがステータスバーにオーバーフローするのを防ぎます
その他の回避策(非推奨)
スタイルでstatusBarColorを削除します。
<item name="Android:statusBarColor">@Android:color/transparent</item>
したがって、テーマは次のようになります。
<style name="AppTheme.NoActionBar">
<item name="windowActionBar">false</item>
<item name="windowNoTitle">true</item>
<item name="Android:windowDrawsSystemBarBackgrounds">true</item>
</style>
appbarlayoutでapp:elevation = "0dp"を作成することもできますが、これにより下部の影も削除されます。