Ответ
Jetpack Compose — современный декларативный фреймворк для UI, упрощающий разработку за счет реактивного подхода. Пример:
@Composable
fun Greeting(name: String) {
Text(text = "Hello $name!")
}
XML Layouts — традиционный подход с View-системой, где UI описывается в XML:
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="Hello World!" />
Также есть:
- ConstraintLayout — гибкая система верстки с ограничениями
- MotionLayout — для сложных анимаций и переходов
- Data Binding — связывание UI с данными
- ViewBinding — безопасный доступ к View без boilerplate-кода
Для сложных кастомных элементов используют Canvas и Custom Views.