Как бы выглядела дизайн система в твоем проекте

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

Ответ

Дизайн-система включает UI-киты (цвета, типографика, иконки) и компоненты (кнопки, карточки, инпуты).

Пример структуры:

// Цвета в themes.xml  
<color name="primary">#6200EE</color>  

// Стили в styles.xml  
<style name="Button.Primary">  
    <item name="android:background">@drawable/bg_button_primary</item>  
    <item name="android:textColor">@color/white</item>  
</style>  

// Компоненты в Compose  
@Composable  
fun PrimaryButton(text: String, onClick: () -> Unit) {  
    Button(  
        colors = ButtonDefaults.buttonColors(containerColor = Color(0xFF6200EE)),  
        onClick = onClick  
    ) { Text(text) }  
}  

Фичи:

  • Темы (светлая/тёмная) через Theme.kt (Compose) или styles.xml.
  • Reusable-компоненты с параметризацией (например, ButtonType.PRIMARY/SECONDARY).
  • Документация в Storybook или Markdown для дизайнеров/разработчиков.

Плюсы: консистентность, скорость разработки, легкий редизайн.