web-dev-qa-db-ja.com

標高自体を削除せずに標高シャドウを削除する

AppBarLayoutが影を落とさずに標高を維持する方法はありますか?

<Android.support.design.widget.AppBarLayout
        app:elevation="0dp">
36
Jocky Doe

M.Sandholtzの回答を完成させるには、これをXMLで、outlineProvider = "none"を使用して定義することもできます。

<View
    Android:id="@+id/viewElevationNoShadow"
    Android:outlineProvider="none"
    Android:elevation="4dp"/>
28
Sean Blahovici

私はちょうど同じ問題に遭遇しました、そしてこれは私のためにそれを修正したものです:

val withElevationNoShadow = view.findViewById<*your view type*>(*your view id*)
withElevationNoShadow.outlineProvider = null

上記のコードはKotlinですが、Javaはほとんど同じです。

これは、影がViewOutlineProvidersによって描画されるため機能します。ビューのViewOutlineProvidernullに設定すると、デフォルトの影がなくなります。

ViewOutlineProvidersの詳細については、こちらをご覧ください

https://developer.Android.com/reference/Android/view/ViewOutlineProvider

そして

https://developer.Android.com/training/material/shadows-clipping

17
Clark Sandholtz