次のxml
がドローアブルフォルダーにあります(circle_status.xml
)リングを作成するには:
<?xml version="1.0" encoding="utf-8"?>
<shape
xmlns:Android="http://schemas.Android.com/apk/res/Android"
Android:shape="ring"
Android:innerRadius="15dp"
Android:thickness="10dp"
Android:useLevel="false">
<solid Android:color="#ababf2" />
</shape>
次に、relativeLayoutの背景のようなドロウアブルを次のように挿入します。
<RelativeLayout
Android:id="@+id/RelativeLayout_Status"
Android:layout_width="100dp"
Android:layout_height="100dp"
Android:layout_alignParentRight="true"
Android:layout_alignParentTop="true"
Android:background="@drawable/circle_status" >
</RelativeLayout>
問題は、relativeLayoutにリングではなく円が表示されることです。
私は自分自身に答えます。
問題はEclipseのGraphical Layout Editorにあり、実際のデバイスではコードが正常に機能しているようです。
リングは塗りつぶしのない楕円形であることに注意してください。ただストロークで。そして、それを保持するビューは、完全な正方形でなければなりません。
<shape xmlns:Android="http://schemas.Android.com/apk/res/Android"
Android:shape="oval">
<stroke
Android:width="1dp"
Android:color="@color/blue" />
</shape>
そしてそれを保持するビュー
<ImageView
Android:layout_width="10dp"
Android:layout_height="10dp"
Android:src="@drawable/ring" />
このハックは、両方のデバイスとAndroid Studio:
<?xml version="1.0" encoding="utf-8"?>
<shape xmlns:Android="http://schemas.Android.com/apk/res/Android"
Android:shape="ring" Android:innerRadius="23dp" Android:thickness="0dp">
<stroke Android:width="2dp" Android:color="#ababf2" />
</shape>
<stroke>
タグのリングには、<solid>
タグの代わりに<shape>
タグを使用する必要があります。 <solid>
タグで<shape>
タグを使用すると、リングではなく円になります。
<solid>
タグはリングの背景色に使用でき、<stroke>
タグはリングの本体色に使用できます。