Измените цвет формы в списке слоев в селекторе программно

если фон кнопки установлен на shape drawable, мы можем программно вызвать (GradientDrawable) findDrawableByd(R.drawable.some_shape).setColor(someColor);.

Если он установлен на layer-list drawable, мы можем изменить его цвет, вызвав

LayerDrawable someLayerList = (LayerDrawable) getResources().getDrawable(R.drawable.someLayerList);
((GradientDrawable) someLayerList.findDrawableByLayerId(R.id.someShape)).setColor(someColor);

Я хочу пойти на один уровень глубже. Как я могу программно установить цвет рисуемой фигуры, которая находится в списке слоев, который находится в селекторе?

Использование приведенного выше фрагмента кода вроде работает. На самом деле он выглядит очень глючным. У меня есть несколько диалоговых фрагментов, которые последовательно меняют цвет кнопки. В то время как первый dialogFragment всегда окрашен правильно, остальные обычно нет. Я хочу подчеркнуть, что когда фон кнопки установлен на список слоев, все работает идеально, если установлен на селектор, он немного глючит.


person rperryng    schedule 28.02.2014    source источник
comment
Посетите stackoverflow.com/questions/ 8976836/   -  person Mukul Lakhwani    schedule 08.01.2015