文章來自:http://blog.csdn.net/intbird 轉載請說明出處
1.圓環如圖:
2.解釋說明:
僅當 android:shape="ring" 如下時才使用以下屬性:
- android:innerRadius
尺寸。環內部(中間的孔)的半徑,以尺寸值或尺寸資源表示。 - android:innerRadiusRatio
浮點型。環內部的半徑,以環寬度的比率表示。例如,如果android:innerRadiusRatio=“5”,則內半徑等於環寬度除以 5。此值被 android:innerRadius 覆蓋。默認值爲 9。 - android:thickness
尺寸。環的厚度,以尺寸值或尺寸資源表示。 - android:thicknessRatio
浮點型。環的厚度,表示爲環寬度的比率。例如,如果android:thicknessRatio=“2”,則厚度等於環寬度除以 2。此值被 android:innerRadius 覆蓋。默認值爲 3。 - android:useLevel
布爾值。如果此屬性用作 LevelListDrawable,則值爲“true”。此屬性的值通常應爲“false”,否則無法顯示形狀。
note: 環的厚度和半徑都是相對於整個圓來說的
-
innerRadiusRatio = 100, 則 圓心半徑爲 整圓100 / 係數100 = 1, 圓心很小
-
innerRadiusRatio = 1, 則 圓心半徑爲 整圓100 / 係數1 = 100, 圓心超大
-
thicknessRatio = 100, 則 圓環厚度爲 整圓100/ 係數100 = 1, 厚度很小
-
thicknessRatio = 1,則 圓環厚度爲 整圓100/ 係數1 = 100, 厚度超大
3.具體實現
<layer-list xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools">
<item>
<shape
android:innerRadiusRatio="2.2"
android:shape="ring"
android:thicknessRatio="30"
android:useLevel="false">
<solid android:color="#474747" />
</shape>
</item>
<item>
<shape
android:innerRadiusRatio="2.2"
android:shape="ring"
android:thicknessRatio="100"
android:useLevel="false">
<solid android:color="#323232" />
<stroke
android:width="2dp"
android:color="@android:color/black" />
</shape>
</item>
<item>
<shape
android:innerRadiusRatio="3.4"
android:shape="ring"
android:thicknessRatio="6.6"
android:useLevel="false">
<solid android:color="#1E1D20" />
</shape>
</item>
<item>
<shape
android:innerRadiusRatio="3.3"
android:shape="ring"
android:thicknessRatio="90"
android:useLevel="false">
<solid android:color="#1E1D20" />
<stroke
android:width="1dp"
android:color="#323232" />
</shape>
</item>
<item>
<shape
android:innerRadiusRatio="3.5"
android:shape="ring"
android:thicknessRatio="70"
android:useLevel="false">
<solid android:color="@android:color/black" />
</shape>
</item>
</layer-list>
後續整理出多個drawable的使用
https://developer.android.com/guide/topics/resources/drawable-resource