которой 4 стейта: положения on, off и состояния enabled/disabled.
В ON и OFF разные картинки и root background. Disabled просто должен добавлять серый фильтр на всю view.
Как средствами андроида это красиво реализовать?
В идеале бы хотелось большой селектор, чтобы сделал buttonLayout.isChecked = true, а он сам дочерним вью проставил checked и себе background сменил, а при buttonLayout.enabled = false сделал себе tint=grey.
Но увы, у layout нет ни tint, ни checked (как и у image).
Checked у всех должен быть. Как и enabled, activated, etc
Это уже что-то, а можно его как-то заставить наследоваться? Чтобы паренту поставил и все дети стали checked?
repeat(childCount) { getChildAt(it).set… }
У вью есть colorFilter, если мне не изменяет память
+, использовал)
Всё таки checked'а нет во View. Но можно использовать activated. Жалко вьюшкам нельзя добавлять кастомные стейты без наследования
чем не устроил тег по ид?
а, да, но можно скопировать из CompoundButton, там тривиально
Обсуждают сегодня