2017-03-03 4 views
0

私はカスタムシャドウを持つボタンを配置するのが大変です。あなたが見ることができるようにAndroid - ボタンシャドウの良い練習

image with shadow

は、影が画像の下部に大きいです:

は例えば、設計者は、このボタンを作成しました。

私は、ボタンのレイアウトにはボタンだけを入れ、周囲には影を入れないようにしたい(いくつかの理由で、整列、ボタンの効果など)。だから私は両側の影を測定し、それを正または負のマージンとして使用しています。また、ボタンレイアウトから影を表示できるように、android:clipChildren = "false"を使用します。

しかし、イメージのサイズを変更したい場合、すべての余白は廃止されています。 Androidで影を含む画像を使用するのは本当に良い習慣ですか?デザイナーが行った影をプログラムで実現する簡単な方法はありますか?

おかげさまで、ありがとうございました。ご協力いただければ幸いです。

+2

影を達成するための「標準的な」方法は、仰角属性afaikを使用することです。しかし、標高によって生成される標準的な影を調整することが可能かどうかはわかりません。こちらをご覧ください:https://developer.android.com/training/material/shadows-clipping.html – PhilipB

答えて

0

残念ながら、上記の画像を使用する必要があったため、標高機能は使用できませんでした。私はあなたが選択肢を持っている場合は、他の答えとして標高を使用することをお勧めします。

私のような選択肢がない場合、私は "clipChildren"プロパティと負のマージンでそれを行うことができました。基本的には、ボタンの代わりにframeLayoutを配置し、画像全体を含む切り抜かれていない子ImageViewを負のマージンで追加します。

0

あなたはElevationの機能を利用して、アンドロイドのための材料設計の一部として来ることができます。 UIエレメントの標高を定義できます。標高が高いほど影が深くなります。もちろん

あなたが通過する必要があるルールやガイドラインがあります https://developer.android.com/training/material/shadows-clipping.html

関連する問題