Используйте ресурсы Android XML в фактическом объявлении.Android

Форум для тех, кто программирует под Android
Anonymous
Используйте ресурсы Android XML в фактическом объявлении.

Сообщение Anonymous »

Я реализую средство выбора Emoji на мультиплатформе Kotlin с помощью Compose Multiplatform. Поскольку для androidx.emoji2:emojipicker не существует мультиплатформы, я реализую этот Composable, используя ожидаемую и фактическую реализацию.

Код: Выделить всё

// shared/commonMain/kotlin
@Composable
expect fun EmojiPicker()

// shared/androidMain/kotlin/EmojiPicker.kt
@Composable
actual fun EmojiPicker() {
AndroidView(factory = { context -> EmojiPickerView(context) })
}
Это работает нормально, пока я не попытаюсь настроить EmojiPicker, как указано в его документации:

Создайте свой собственный стиль для переопределить общие атрибуты темы и применить стиль к EmojiPickerView.

На родном Android я бы реализовал этот собственный стиль в файлеstyles.xml. Это не работает с Kotlin Multiplatform.

Код: Выделить всё

// shared/androidMain/res/values/styles.xml





// shared/androidMain/kotlin/EmojiPicker.kt
@Composable
actual fun EmojiPicker() {
AndroidView(
factory = { context ->
// Error: Unresolved reference 'R'
EmojiPickerView(contex, null, R.style.EmojiPicker)
},
)
}
Как применить ресурсы XML к представлениям Android в реальном объявлении или стиле без использования XML?

Подробнее здесь: https://stackoverflow.com/questions/793 ... eclaration

Вернуться в «Android»