GradientDrawable.shape

Drawableの項で、drawableフォルダにXMLでdrawable情報を定義できた・・・。

Drawableリソースについては、

ドローアブル リソース | Android Developers

に詳細があり、shapeタグを使ったものは、

ドローアブル リソース | Android Developers

"シェイプ ドローアブル"の項で解説している・・・。

※.ただし、shapeタグのXMLコンパイルされる型はGradientDrawableであり、それとはまた別にShapeDrawable(これについてはいずれ説明する予定)があるので注意が必要!(ここがとてもややこしい・・・。)

shapeタグのandroid:shapeなどの属性は、GradientDrawableで定義されている・・・。
これを使って、ButtonやTextViewなどの形状を指定できる・・・。

Button1とButton2の文字列リソースを用意・・・。

drawable_button1とdrawable_button2という感じで2つdrawableを用意・・・。

f:id:BG1:20170104003439p:plain

drawable_button1は、

shapeにrectangleを指定・・・。
これは、指定しなくてもデフォルトはrectangleになる・・・。
枠線の太さ1dp、色は赤・・・。中の色も白・・・。
よって、Drawableの項と同じ矩形・・・。

f:id:BG1:20170104003821p:plain

drawable_button2は、

shapeにovalを指定すると楕円になる・・・。
太さが2dp、枠線は青、中の色は黄色で設定・・・。

f:id:BG1:20170104004057p:plain

このように形状を変えることができた・・・。

Sample/android/GradientDrawable/shape/src/GradientDrawable at master · bg1bgst333/Sample · GitHub