VectorChildFinder
VectorChildFinder copied to clipboard
How can we use with Jetpack Compose Image?
@Composable
fun Button(style: ButtonStyle = ButtonStyle()) {
val colorFilter = style.centerImageTintColorRes.let { ColorFilter.tint(colorRes(id = it)) }
val imageView = ImageView(LocalContext.current)
val vector = VectorChildFinder(LocalContext.current, style.centerImageRes, imageView)
val path1: VectorDrawableCompat.VFullPath = vector.findPathByName("path1")
path1.fillColor = style.centerImageTintColorRes
imageView.drawable.toBitmap().asImageBitmap()
Image(
painter = painterResource(id = style.centerImageRes),
colorFilter = colorFilter,
contentDescription = "", modifier = Modifier.size(54.dp)
)
}
I can't make it with Jetpack compose unfortunately. Maybe someone else knows a way to make it work?
Hey @orcuns , sorry for the late response. Here's how to use it with Jetpack Compose:
@Composable
fun VectorPathFinderIV(){
AndroidView(factory = {context ->
val iv = ImageView(context)
val vector = VectorChildFinder(context, R.drawable.baseline_add_chart_24,
iv)
val path1 : VectorDrawableCompat.VFullPath = vector.findPathByName("mypath1")
path1.fillColor = Color.YELLOW
iv
}, update = {
it.invalidate()
})
}
Then call VectorPathFinderIV()
to show the image.