カスタムView:円形画像の外側にシャドウ効果を追加


最近、物を投げて説明するカスタムViewの授業を見て、とても利益があると感じて、今まだ勉強している過程で、今日ui-1-2という小さな結び目の中で、彼は文字にshadowを設定することができることに言及しました.使用する方法はsetShadowLayer()という方法です.自分でやってみると、実現できるので、前のプロジェクトで円形の画像の外周に影を付けることを考えました.ネットで長い間見ていたが、この方面の解決はなかったようだ.その後、自分はCardViewでImageViewを包んで実現したが、この方式はあまりよくないと思っていた.ちょうど彼がこの点を話しているのを見て、この方法を文字セットから画像に使おうとしたが、実際の応用過程では、同じコードがdrawCircleでは役に立たなかった.そして、彼のブログを見て、
注意:
  • ハードウェアアクセラレータがオンの場合、setShadowLayer()は文字の描画のみをサポートし、文字以外の描画はハードウェアアクセラレータをオフにしてシャドウを正常に描画する必要があります.
  • shadowColorが半透明であれば、シャドウの透明度はshadowColor自身の透明度を使用する.一方、shadowColorが不透明であれば、シャドウの透明度はpaintの透明度を使用します.

  • その後、ネット上で方法を探しましたが、ハードウェアの加速をオフにするコードがあります.
    setLayerType(View.LAYER_TYPE_SOFTWARE,null);

    コードを設定すると、画像の周辺シャドウの効果が得られます.
    ここに投げ物線のブログのアドレスを貼って、本当に利益があります.