我的目标是显示圆形图像,并允许用户分别设置其foreground
和background
的颜色,例如:
我的尝试是创建具有透明背景的图像资产,然后使用ImageView::setColorFilter
更改其前景,并使用ImageView::setBackgroundColor
设置其背景。图片资产如下所示:
我的问题是我们人类称为“边界”之外的像素也是透明的,所以结果看起来像这样:
人们通常如何处理这个问题?尽管我当时在做Android开发,但是任何语言的任何想法或代码片段都值得赞赏!
答案 0 :(得分:0)
首先,必须创建一个新的可绘制文件,并编写以下代码以创建带有蓝色边框的黄色圆形:
<?xml version="1.0" encoding="utf-8"?>
<shape xmlns:android="http://schemas.android.com/apk/res/android"
android:shape="oval">
<solid android:color="#cab816" />
<size android:width="50dp"
android:height="50dp"/>
<stroke android:width="2dp"
android:color="@color/darkBlue"/>
</shape>
现在,您必须将此可绘制对象设置为imageview的背景,并使用src设置图像。
如果您的图像覆盖了整个圆圈,请使用填充来减小图像尺寸。