Это то, что я сделал для программной генерации изображений.
val circleImageView1 = CircleImageView(context)
circleImageView1.layoutParams = LinearLayout.LayoutParams(Tools.dpToPx(40), Tools.dpToPx(40))
circleImageView1.borderWidth = 1
circleImageView1.borderColor = ContextCompat.getColor(context, R.color.white_two)
circleImageView1.circleBackgroundColor = ContextCompat.getColor(context, R.color.blue)
circleImageView1.setImageResource(R.drawable.profile_default)
val layoutParams = LinearLayout.LayoutParams(Tools.dpToPx(40), Tools.dpToPx(40))
layoutParams.setMargins(Tools.dpToPx(-10), 0, 0, 0)
val circleImageView2 = CircleImageView(context)
circleImageView2.layoutParams = layoutParams
circleImageView2.borderWidth = 1
circleImageView2.borderColor = ContextCompat.getColor(context, R.color.white_two)
circleImageView2.circleBackgroundColor = ContextCompat.getColor(context, R.color.red)
circleImageView2.setImageResource(R.drawable.profile_default)
val circleImageView3 = CircleImageView(context)
circleImageView3.layoutParams = layoutParams
circleImageView3.borderWidth = 1
circleImageView3.borderColor = ContextCompat.getColor(context, R.color.white_two)
circleImageView3.circleBackgroundColor = ContextCompat.getColor(context, R.color.green)
circleImageView3.setImageResource(R.drawable.profile_default)
itemView.images.addView(circleImageView1)
itemView.images.addView(circleImageView2)
itemView.images.addView(circleImageView3)
itemView.images.scaleX = -1.0f
Пока это работает, мне просто нужно убедитьсячерез список изображений обратно, так как порядок важен.