в композаблы?
имею в виду, что лучше, передвать
text = sringResource(R.string.text)
или же просто id?
мне кажется что лучше передавать id, так как везде будет использоваться именно так и будет писаться меньше кода. но возможно есть какие-то конвеншены поэтому поводу, которые говорят что лучше передавать string
зачем передавать ресурсы из хмл между композаблами?
я передаю готовые строки, потому что не все строки приходят из ресурсов, некоторые могут и с бэка прийти, например, и не хочется вносить лишнее разнообразие
в каком смысле? а как ещё строки и дроваблы брать?
я не так понял)
Есть ещё вариант сделать обёртку-абстракцию, а-ля Hannes Dorfman: sealed interface TextRes { data class Text( val text: String, ) : TextResource /** * Текст из ресурсов. **/ data class IdText( @StringRes val id: Int, val args: Array<out Any> = emptyArray() ) : TextResource { // ... } /** * Plurals-текст из ресурсов. **/ data class Plural( @PluralsRes val pluralId: Int, val quantity: Int, val args: Array<out Any> = emptyArray() ) : TextResource { // ... } /** * Кастомизируемая модель текста. * Следует использовать только тогда, когда не * хватает стандартных типов. **/ interface Custom : TextResource { // Приходится делать это Composable-функцией, // потому что нужен доступ к CompositionLocal-ам тем @Composable fun getAnnotatedString(): AnnotatedString fun getString(): String } }
Обсуждают сегодня