Если я использую привязку данных Android с помощью ViewModel
s, например, для установки цвета представления, у меня есть несколько вариантов:
<View ...
background="@color/foo" />
или
class MyViewModel(context: Application): AndroidViewModel(context) {
// this is a dramatic oversimplification, but for illustration purposes...
fun theColor: Int = ContextCompat.getColor(context, R.color.foo)
}
<View ...
background="@{viewModel.theColor}" />
или
class MyViewModel(context: Application): AndroidViewModel(context) {
fun theColor: Int = R.color.foo
}
<View ...
background="@{context.getColor(viewModel.theColor)}" />
Предполагая, что тематика важна для меня, это имеет значение? В частности, я имею в виду разницу между цветом, возвращаемым ContextCompat
, и цветом, возвращаемым Context
, используемым выражением привязки данных.