我必须在圈内展示图标,我试图在另一个戒指内画一个戒指,但我不能这样做,当我尝试它是尴尬的位置我怎么能这样做
我的代码
<?xml version="1.0" encoding="utf-8"?>
<layer-list xmlns:android="http://schemas.android.com/apk/res/android">
<!-- Larger blue circle in back -->
<item>
<shape android:shape="oval">
<solid android:color="#f00"/>
<size
android:width="15dp"
android:height="15dp"/>
</shape>
</item>
<!-- Smaller red circle in front -->
<item>
<shape android:shape="oval">
<!-- transparent stroke = larger_circle_size - smaller_circle_size -->
<stroke android:color="@android:color/transparent"
android:width="10dp"/>
<solid android:color="#fff"/>
<size
android:width="1dp"
android:height="1dp"/>
</shape>
</item>
<item>
<shape android:shape="oval">
<!-- transparent stroke = larger_circle_size - smaller_circle_size -->
<stroke android:color="@android:color/transparent"
android:width="11dp"/>
<solid android:color="#f00"/>
<size
android:width="1dp"
android:height="1dp"/>
</shape>
</item>
答案 0 :(得分:1)
试试我的代码。您可以根据您的要求重写值。 将此drawable添加到任何背景时,请确保该视图是正方形。
<?xml version="1.0" encoding="utf-8"?>
<layer-list xmlns:android="http://schemas.android.com/apk/res/android">
<item
android:left="6dip"
android:right="6dip">
<shape xmlns:android="http://schemas.android.com/apk/res/android"
android:shape="oval">
<stroke
android:width="3dip"
android:color="#f00" />
</shape>
</item>
<item
android:bottom="80dip"
android:left="80dip"
android:right="80dip"
android:top="80dip">
<shape android:shape="oval">
<stroke
android:width="1dip"
android:color="#0f0" />
</shape>
</item>
</layer-list>
答案 1 :(得分:1)
尝试使用Canvas绘制它:
DisplayMetrics
你应该调整一些数字。 Bitmap
仅用于转换dp中的大小(而不是像素)。完成后,如果您需要将BitmapDrawable
用于视图(例如作为背景),则可以将doStuff (const T)
与doStuff (const Param &)
一起使用。
答案 2 :(得分:1)
<?xml version="1.0" encoding="utf-8"?>
<layer-list xmlns:android="http://schemas.android.com/apk/res/android">
<item>
<shape android:shape="oval">
<size
android:width="200dp"
android:height="200dp" />
<solid android:color="@android:color/transparent" />
<stroke android:color="#ff0000" android:width="5dp"/>
</shape>
</item>
<item
android:left="5dp"
android:top="5dp"
android:right="5dp"
android:bottom="5dp">
<shape android:shape="oval">
<solid android:color="@android:color/transparent" />
<stroke android:color="#5BB534" android:width="5dp"/>
</shape>
</item>
</layer-list>
答案 3 :(得分:0)
试试这段代码
<layer-list xmlns:android="http://schemas.android.com/apk/res/android">
<item
android:left="3dp"
android:right="3dp">
<shape android:shape="oval">
<stroke android:width="5dp"
android:color="@android:color/holo_red_dark">
</stroke>
</shape>
</item>
<item
android:bottom="10dp"
android:left="10dp"
android:right="10dp"
android:top="10dp">
<shape android:shape="oval">
<stroke android:width="10dp"
android:color="@android:color/holo_green_dark">
</stroke>
</shape>
</item>