Общие изображения, шрифты и строки
Используйте compose-resources на всех платформах
«Общие изображения, шрифты и строки» — бесплатный урок Kotlin Multiplatform Academy на CoddyKit. Это урок 3 из 4. Ты можешь прочитать весь урок бесплатно ниже — а потом практиковать его прямо в браузере с встроенным редактором кода и ИИ-репетитором 24/7. Это часть пути обучения Kotlin Multiplatform Academy, и твой прогресс синхронизируется между веб-версией и приложением CoddyKit. Курс Kotlin Multiplatform Academy содержит 4 уроков всего.
Части этого урока еще не переведены и отображаются на английском.
Assets Should Be Shared Too
Your logo, your fonts, your labels: why ship them twice? compose-resources lets every platform load the same assets. 🖼️
One Resources Folder
You drop assets into a shared composeResources directory. Images, fonts and strings all live in one place for every target.
Add the Resources Setup
Enabling resources generates a typed Res object. You reference assets through it instead of raw file paths.
commonMain.dependencies {
implementation(compose.components.resources)
}Folders by Asset Type
Resources are grouped into folders like drawable, font and values. The names tell the toolkit how to treat each file.
Show a Shared Image
Load a drawable with painterResource and the generated Res handle. The same picture renders on both apps.
Image(
painter = painterResource(Res.drawable.logo),
contentDescription = "Logo"
)Bundle a Custom Font
Place a font file in the font folder, then load it with Font and the Res handle to build a FontFamily.
val brand = FontFamily(Font(Res.font.inter_bold))Strings in One File
Define your text in a shared strings.xml. Each label gets a key, and the Res object exposes it to your UI.
<string name="welcome">Welcome back!</string>Read a Shared String
You fetch text with stringResource and the generated key. No more hardcoded labels scattered across screens.
Text(stringResource(Res.string.welcome))Type Safety for Free
Because Res is generated, a typo in an asset name fails to compile. You catch missing resources before users ever do. ✅
Strings Can Take Arguments
Add placeholders in a string and pass values at call time. The same stringResource call fills them in for you.
Text(stringResource(Res.string.greeting, userName))Assets Travel With Shared Code
Because resources live in the shared module, any app that uses your code gets the assets automatically. One source of truth. 🙂
Quick Check
Which function loads a shared drawable into a Compose Image?
Recap: Shared Look and Feel
You stored images, fonts and strings once and loaded them with the generated Res object. Every platform shares the same brand. 🎨
Часто задаваемые вопросы
Урок «Общие изображения, шрифты и строки» бесплатный?
Да — полный текст урока «Общие изображения, шрифты и строки» бесплатно доступен здесь в веб-версии. Чтобы практиковать его интерактивно (встроенный редактор кода и ИИ-репетитор 24/7) и разблокировать остальной курс Kotlin Multiplatform Academy, подпишись на CoddyKit PRO. Курс Kotlin Multiplatform Academy содержит 4 уроков всего.
Чему я научусь в уроке «Общие изображения, шрифты и строки»?
Используйте compose-resources на всех платформах Ты практикуешь Kotlin Multiplatform Academy с помощью реального кода, который запускаешь прямо в браузере, и ИИ-репетитор 24/7 отвечает на твои вопросы во время урока.
Нужен ли мне опыт, чтобы начать Kotlin Multiplatform Academy?
Предыдущий опыт не требуется. Kotlin Multiplatform Academy на CoddyKit структурирован для всех уровней — от новичков до продвинутых, поэтому ты можешь начать отсюда или с самого начала и учиться в своем темпе. Это урок 3 из 4.
Сколько времени занимает урок «Общие изображения, шрифты и строки»?
Большинство уроков CoddyKit занимают около 5–10 минут. Каждый из них компактный и интерактивный, поэтому ты постоянно делаешь прогресс и продолжаешь с того же места в веб-версии и приложении.
Можно ли писать и запускать код в этом уроке Kotlin Multiplatform Academy?
Да. Каждый урок Kotlin Multiplatform Academy включает встроенный редактор кода, поэтому ты пишешь и запускаешь реальный код прямо в браузере и получаешь моментальную обратную связь от AI — локальная установка не требуется.
Все уроки этого курса
- Навигация между общими экранами
- Передача аргументов и глубокие ссылки
- Общие изображения, шрифты и строки
- Локализация текста общего интерфейса