Как сделать круглую View

«Как сделать круглую View» — вопрос из категории UI и Views, который задают на 23% собеседований Android Разработчик. Ниже — развёрнутый ответ с разбором ключевых моментов.

Ответ

Для создания круглой View в Android можно использовать View.setOutlineProvider или CardView с радиусом, равным половине размера View.

1. Через View.setOutlineProvider (API 21+):

view.apply {
    outlineProvider = object : ViewOutlineProvider() {
        override fun getOutline(view: View, outline: Outline) {
            outline.setRoundRect(0, 0, view.width, view.height, view.width / 2f)
        }
    }
    clipToOutline = true
}

2. Через CardView:

<androidx.cardview.widget.CardView
    android:layout_width="100dp"
    android:layout_height="100dp"
    app:cardCornerRadius="50dp" />

3. Через ShapeDrawable (для ImageView/Button):

<shape xmlns:android="http://schemas.android.com/apk/res/android" 
    android:shape="oval">
    <solid android:color="@color/your_color" />
</shape>

Важно: Убедитесь, что ширина и высота View одинаковы, иначе получится овал.