2017-01-19 13 views
5

मैं विषय के डिफ़ॉल्ट की तुलना में एक अलग रंग में प्रोग्रामबॉक्स से चेकबॉक्स बॉक्स के रंग को बदलने की कोशिश कर रहा हूं। समस्या मैं कुछ इस तरह कर रहा था है:Android चेकबॉक्स बॉक्स का रंग प्रोग्रामेटिक रूप से बदलें (समर्थन लाइब्रेरी)?

checkbox.setSupportButtonTintList(ColorStateList); 

यह काम करता है लेकिन ऐसा लगता है, अपने वर्ग प्रलेखन अनुसार, इस विधि केवल एक ही पैकेज से वर्गों (com.android.support) द्वारा इस्तेमाल किया जा करने के लिए प्रतिबंधित कर दिया गया है ।

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

एक मानक/सभी API स्तरों के लिए ऐसा करने का सही तरीका है: यह चेतावनी मैं एंड्रॉयड स्टूडियो से मिल गया है?

उत्तर

12

अंत में, Google लोगों में से एक से यहां जवाब मिला: https://code.google.com/p/android/issues/detail?id=202235। मैं इसका उपयोग करने के बारे में सही नहीं था:

checkbox.setSupportButtonTintList(ColorStateList); 

ऐसा लगता है कि यह एक निजी एपीआई है। इसके बजाए, आपको इसका उपयोग करना होगा:

CompoundButtonCompat.setButtonTintList(checkbox, colorStateList); 
संबंधित मुद्दे