Androidアプリの実装中にTextEditの領域の 内側 に影をつけたかった!
うまい実装方法に辿り着いたので備忘録としてここに残します。
elevationを試してみるが、うまくいかず・・・
入力欄の外側に影をつけるなら、XMLの中に android:elevation="〇〇dp" を記述することで描画できる。
次にgradient(グラデーション要素)を試したがこちらもうまくいかなかった
style要素としてgradientを使用して実装しようと思ったが、うまくいかず。(style…高さや幅、背景の色、文字についてなど外観についてまとめて記述できる要素。Viewファイルとは別に用意)
backgroundcolorで指定した白背景の上に、gradientでグラデーションをかける、という複数の要素を重ねて表示することができず断念。
layer-list で解決した!
layer-list とは
画像などを、レイヤー構成で重ねることができるリソース。
複数の画像をひとつのリソースとして取り扱うことができる。
res/drawable内に作成。
●使い方
XML で作る場合は layer-listタグを使う。
そのタグの中に itemタグで要素を構成する。
上に書いた順に描画されるので、一番上の itemタグで定義した画像が一番下に表示される。
影をつけたい部分の違いでさまざまな方法があるんですね。
参考記事
Android Developer
How to make inner shadow shape in android studio [closed]