Android 换肤方案详解(二)

时间:2025-04-06 08:37:27
// 对于自定义view---CircleTextImage,换肤所有事项自行处理 object CircleTextImageProcess: CustomAttrAction<CircleTextImage> { val textColor = CustomAttrEntity(CircleTextImage::class.java.name, attrName = "textColor", this) val circleColor = CustomAttrEntity(CircleTextImage::class.java.name, attrName = "circleColor", this) val strokeColor = CustomAttrEntity(CircleTextImage::class.java.name, attrName = "strokeColor", this) override fun apply(t: CircleTextImage, attrName: String, resId: Int) { if (attrName == "textColor" && resId != 0) { t.setTextColor(SkinUtil.getColor(resId)) } else if (attrName == "circleColor" && resId != 0) { t.setCircleColor(SkinUtil.getColor(resId)) } else if (attrName == "strokeColor" && resId != 0) { t.setStrokeColor(SkinUtil.getColor(resId)) } } }