首页 > 解决方案 > 以编程方式为 ImageView 设置不同的角半径

问题描述

我正在以编程方式创建 ImageView 并尝试为每个角设置不同的角半径:

val imageView = ImageView(context)
imageView.setImageDrawable(context.getDrawable(R.drawable.ic_launcher_background))
imageView.clipToOutline = true

val shape = GradientDrawable()
shape.shape = GradientDrawable.RECTANGLE
shape.cornerRadii = floatArrayOf(100f, 100f, 100f, 100f, 0f, 0f, 0f, 0f)

imageView.background = shape

这似乎cornerRadii行不通。

如果我正在使用shape.cornerRadius = 100f它的工作,但对于所有角落。

我也试过mutate()在设置之前打电话,cornerRadii但它并没有影响 ImageView。

标签: androidimageviewrounded-cornersgradientdrawable

解决方案


推荐阅读