Программно установите другой радиус угла для ImageView

#android #imageview #rounded-corners #gradientdrawable

#Android #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.