Shape Drawableをxmlで定義するときのタグと属性のメモ
<?xml version="1.0" encoding="utf-8"?>
<!--
■shapeタグ
・shape属性-形状を指定する。
rectangle:四角形
oval:円形
line:線
ring:輪
・innerRadius属性-内円の半径を設定する。(*shape属性がringの場合だけ設定可能)
・innerRadiusRatio属性-内円の半径を幅に対する割合を設定する、ただしinnerRadiusが設定された場合は上書きされる。(*shape属性がringの場合だけ設定可能)
・thickness属性-外円の半径を設定する。(*shape属性がringの場合だけ設定可能)
・thicknessRatio属性-外円の半径を幅に対する割合を設定する、ただしthicknessが設定された場合は上書きされる。(*shape属性がringの場合だけ設定可能)
・useLevel属性-LevelListDrawableを使うかどうかを設定する。(*shape属性がringの場合だけ設定可能)
-->
<shape xmlns:android="http://schemas.android.com/apk/res/android"
android:shape="rectangle">
<!--
■sizeタグ
・width属性-図形の幅を設定する。
・height属性-図形の高さを設定する。
-->
<size
android:width="100dp"
android:height="100dp" />
<!--
■solidタグ
・color属性-図形の色を設定する。
-->
<solid android:color="#000" />
<!--
■cornersタグ(*shapeタグのshape属性がrectangleの時だけ有効)
・radius属性-全角に対して角丸を設定する。個別で設定している場合は個別設定のほうが有効になる。
・topLeftRadius属性-左上の角丸を設定する。
・topRightRadius属性-右上の角丸を設定する。
・bottomLeftRadius属性-左下の角丸を設定する。
・bottomRightRadius属性-右下の角丸を設定する。
-->
<corners
android:radius="100dp"
android:topLeftRadius="10dp"
android:topRightRadius="20dp"
android:bottomLeftRadius="30dp"
android:bottomRightRadius="40dp"/>
<!--
■paddingタグ
・bottom属性-下側のパディングを設定する。
・left属性-左側のパディングを設定する。
・right属性-右側のパディングを設定する。
・top属性-上側のパディングを設定する。
-->
<padding
android:bottom="100dp"
android:left="1000dp"
android:right="10dp"
android:top="10dp" />
<!--
■strokeタグ
・width属性-線の太さを設定する。
・color属性-色を設定する。
・dashGap属性-破線の線と線の間隔を設定する。
・dashWidth属性-破線の線の長さを設定する。
-->
<stroke
android:width="5dp"
android:color="#f00"
android:dashGap="5dp"
android:dashWidth="10dp" />
<!--
■gradientタグ
・angle属性-角度を設定する。0は左から右、90は下から上、45は左下から右上に色が変化する。
・startColor属性-開始位置の色
・centerColor属性-中央位置の色
・endColor属性-終了位置の色
・centerX属性-X方向の中央位置を設定(0-1.0)
・centerY属性-Y方向の中央位置を設定(0-1.0)
・type属性-グラデーション
linear:線形
sweep:扇
radial:放射
・gradientRadius属性-グラデーションの半径
・useLevel属性-LevelListDrawableを使うかどうかを設定する。(*shape属性がringの場合だけ設定可能)
-->
<gradient
android:angle="90"
android:startColor="#f00"
android:centerColor="#0f0"
android:endColor="#00f"
android:centerX="0.5"
android:centerY="0.5"
android:type="radial"
android:gradientRadius="10dp"
android:useLevel="true" />
</shape>