2017-01-19 38 views
5

Próbuję programowo zmienić kolor pola wyboru na inny kolor niż domyślny motyw. Problemem jest, że robię coś takiego:Zmieniaj kolor paska okna Checkbox w Androidzie (biblioteka pomocnicza)?

checkbox.setSupportButtonTintList(ColorStateList); 

To działa, ale wydaje się, według jego dokumentacji klasy, metoda ta została ograniczona do wykorzystania tylko przez klasy z tego samego pakietu (com.android.support) . To jest ostrzeżenie otrzymane od Studio Android:

AppCompatCheckBox.setSupportButtonTintList can only be called from within the same library group (groupId=com.android.support) 

Czy istnieje standardowy/poprawny sposób robienia tego dla wszystkich poziomów API?

Odpowiedz

12

Wreszcie, znalazłem odpowiedź tutaj od jednego z gości Google: https://code.google.com/p/android/issues/detail?id=202235. Miałem rację, nie używając:

checkbox.setSupportButtonTintList(ColorStateList); 

Wygląda na to, że jest prywatnym API. Zamiast tego musisz użyć:

CompoundButtonCompat.setButtonTintList(checkbox, colorStateList);