android使用shape画一个边框为2dp的蓝色圆环,内部有一个蓝色实心圆点,圆点与圆环之间为白色
时间: 2024-05-09 12:16:12 浏览: 90
可以使用如下的shape代码来实现:
```xml
<shape xmlns:android="http://schemas.android.com/apk/res/android"
android:shape="oval">
<!-- 圆环 -->
<stroke
android:width="2dp"
android:color="#00F" />
<!-- 圆点 -->
<solid android:color="#00F" />
<!-- 白色间隔 -->
<size
android:width="20dp"
android:height="20dp" />
<solid android:color="#FFF" />
</shape>
```
将上面的代码保存为一个drawable文件,比如`bg_circle.xml`,然后在布局文件中使用即可:
```xml
<View
android:layout_width="100dp"
android:layout_height="100dp"
android:background="@drawable/bg_circle" />
```
注意,这里使用的是`View`来展示背景,如果需要使用在`ImageView`等控件中展示,还需要设置`android:scaleType="center"`来保证圆环和圆点在正中间。
相关问题
android使用shape画一个边框为2dp的圆环,内部有一个实心蓝色圆点,圆点与圆环之间为白色
在Android中,你可以使用`Shape Drawable`结合`RingDrawable`来创建这样的图形。首先,你需要在XML文件中定义一个自定义的drawable资源。以下是步骤:
1. 创建一个新的XML文件,例如`ring_with_dot.xml`:
```xml
<layer-list xmlns:android="http://schemas.android.com/apk/res/android">
<!-- 圆环部分 -->
<item>
<shape android:innerRadius="0dp" android:outerRadius="50dp" android:shape="ring">
<solid android:color="@android:color/white" /> <!-- 白色背景 -->
</shape>
</item>
<!-- 实心蓝色圆点 -->
<item android:top="60dp" android:right="60dp" android:bottom="60dp" android:left="60dp"> <!-- 让圆点居中 -->
<shape android:shape="oval">
<solid android:color="@color/blue_color" /> <!-- 设置蓝色圆点颜色 -->
<size
android:width="40dp"
android:height="40dp" />
</shape>
</item>
</layer-list>
```
这里假设`@color/blue_color`是你应用中蓝色的资源ID。
2. 现在可以在需要的地方引用这个drawable资源,例如在`ImageView`、`Button`或者其他视图的`background`属性上:
```xml
<ImageView
android:id="@+id/my_image_view"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:background="@drawable/ring_with_dot" />
```
使用xml画一个32dp的圆环,环的宽度为2dp颜色为蓝色,圆环的中心有一个10dp的蓝色的实心圆点,圆点与环之间的空白填充为白色
以下是一个xml代码,可以画出符合要求的32dp圆环:
```xml
<shape xmlns:android="http://schemas.android.com/apk/res/android"
android:shape="ring"
android:thickness="2dp"
android:useLevel="false">
<!-- 外环,蓝色 -->
<solid android:color="@android:color/holo_blue_light" />
<!-- 内环,白色 -->
<stroke
android:width="2dp"
android:color="#ffffff" />
<!-- 中心圆点,蓝色 -->
<size
android:width="10dp"
android:height="10dp" />
<solid android:color="@android:color/holo_blue_light" />
</shape>
```
在布局文件中使用该shape作为背景即可:
```xml
<View
android:layout_width="32dp"
android:layout_height="32dp"
android:background="@drawable/circle_shape" />
```
阅读全文