ボタンやその他のコンポーネントにカスタム シャドウを作成するためのコンポーネントを実現しようとしています。9 パッチまたはシャドウ付きの png を使用すると簡単になることはわかっていますが、その状態 (押された状態) でもプログラムで色とサイズを変更したいと考えています。など)、すべて XML で 9 つの画像を試してみることにしました。これにより、影の陰影がコンポーネントの側面からグラデーションを開始します。
<!-- Left Shadow layer -->
<item>
<shape android:shape="rectangle" >
<gradient
android:angle="0"
android:endColor="#FFFF0000"
android:startColor="#00FF0000" />
</shape>
</item>
問題は角にあり、android:gradientRadius パラメータは固定サイズに設定されていますが、コンテキスト ヘルプでは、ベース サイズ 10% または親サイズ 10% のパーセンテージで設定できると言われています。 p、100%pの半径を設定して、グラデーションが常にメインカラーから消え、正方形の端に消えるようにしたいのです。
- 編集 -
gradientRadiusについての Android ドキュメント
<shape android:shape="rectangle" >
<gradient
android:endColor="#00FF0000"
android:startColor="#FFFF0000"
android:gradientRadius="18"
android:centerX="100%"
android:centerY="100%"
android:type="radial" />
</shape>
そして、それが今の場所です:(親ビューに合わせてこのサイズを設定する方法がわかりません。
コンポーネントが完成したら、コードを回答に入れます:)そのため、典型的なボタンはxmlでカスタマイズ可能な影を持つことができます。
当然のコンポーネントのイメージ。
- 編集 -
私はまだこれに興味があります:)誰も手がかりがありませんか?