首页 > 解决方案 > 如何填充可绘制图像

问题描述

我有一个 .png 图像,如下所示。我想在彩色圆环内画一个内圈,让它完全填满空白。我有没有办法在没有硬编码值的情况下计算内圆的半径应该有多大? 在此处输入图像描述

标签: android

解决方案


考虑到图像尺寸,您可以创建一个layer-list具有背景和圆形项目形状的可绘制对象,image并在其上添加所需的颜色,如下所示

<?xml version="1.0" encoding="utf-8"?>
<layer-list xmlns:android="http://schemas.android.com/apk/res/android">
    <item>
        <bitmap android:src="@drawable/some"/>
    </item>
    <item android:top="45dp" android:bottom="45dp" android:left="45dp" android:right="45dp">
        <shape android:shape="rectangle">
            <corners android:radius="250dp" />
            <solid android:color="#E02020" />
        </shape>
    </item>
</layer-list>

这将产生如下输出

在此处输入图像描述


推荐阅读