Android-skin-support icon indicating copy to clipboard operation
Android-skin-support copied to clipboard

如何支持Databing和通过代码设置的颜色和drawable 进行主题切换?

Open kevin321happy opened this issue 4 years ago • 2 comments

目前skin好像只替换了xml文件中使用到地资源,Java/Kotlin代码设置的颜色字体等资源没有替换。使用DataBinding过后,查看通过DataBinding绑定的资源其实就是通过Java代码去设置的,如何支持Databing和通过代码设置的颜色和drawable 进行主题切换?

kevin321happy avatar Nov 30 '20 11:11 kevin321happy

找到方法了吗?

wonxll avatar Jan 30 '21 12:01 wonxll

找到方法了吗?

目前是增加自定义属性的方法 处理的

/列表Item的背景/ @BindingAdapter("common_item_bg") fun bindItemBackGround(view: SkinCompatLinearLayout,selected: Boolean?) { if (AppData.isNightMode()) { view.background = if (selected.value(false)) R.drawable.common_item_selected.resDrawable() else R.drawable.common_item_normal_night.resDrawable() } else { view.background = if (selected.value(false)) R.drawable.common_item_selected.resDrawable() else R.drawable.common_item_normal.resDrawable() } }

kevin321happy avatar Feb 03 '21 02:02 kevin321happy