2015-11-17 10 views
6

मैं डिजाइन लाइब्रेरी के TabLayout मैं क्या हासिल करना चाहते हैं का उपयोग कर रहाआइकन बदलें और शीर्षक रंग जब एंड्रॉयड डिजाइन पुस्तकालय में चयनित TabLayout

I want to achieve

मैं कई ट्यूटोरियल की कोशिश की है और मैं से इसे प्राप्त करने में सक्षम हूँ टैब को कस्टमाइज़ करना, लेकिन एक सीमा है जो टैब का चयन होने पर होता है, मैं पाठ रंग के साथ-साथ आइकन की छवि को बदलना चाहता हूं जो अब तक पढ़े गए किसी भी ट्यूटोरियल को संदर्भित करके संभव नहीं है। मैं FragmentStatePagerAdapter

public View getTabView(int position) { 
    View tab = LayoutInflater.from(mContext).inflate(R.layout.tabbar_view, null); 
    TextView tabText = (TextView) tab.findViewById(R.id.tabText); 
    ImageView tabImage = (ImageView) tab.findViewById(R.id.tabImage); 
    tabText.setText(mFragmentTitles.get(position)); 
    tabImage.setBackgroundResource(mFragmentIcons.get(position)); 
    if (position == 0) { 
     tab.setSelected(true); 
    } 
    return tab; 
} 
+0

उस टैब में 'टैबटेक्स्ट' और 'टैब इमेज' दृश्यों के सरणी या सूचियां रखें जिन्हें आप उस विधि में ढूंढ रहे हैं, और जब भी कोई टैब चयनित/अचयनित होता है तो आप उन्हें जो कुछ भी चाहते हैं उसे बदल सकते हैं। –

+0

यदि आप जांचना चाहते हैं तो मैं टैब गतिविधि के साथ आइकन बदल सकता हूं, तो मैं उस कोड को पोस्ट करूंगा। –

+0

@ माइकएम। मैं आपकी विधि –

उत्तर

2

द डिजाइन लाइब्रेरी में इस जोड़ने ताकि आप एक कस्टम टैब देखने की जरूरत नहीं है, चश्मा सामग्री डिजाइन "माउस और पाठ के साथ टैब" के लिए अपडेट कर रहे थे द्वारा इस की कोशिश की है अब तक।

लेकिन वर्तमान संस्करण (23.1.1) में, केवल टेक्स्ट रंग spec (टैब केंद्रित - # एफएफएफ, टैब फोकस - 70% # एफएफ) से मेल खाते हैं। तो DrawableCompat.setTintList(ColorStateList) का उपयोग कर आइकन टेंट करने के लिए getTabTextColors() द्वारा ColorStateList का उपयोग कर सकते हैं।

इस सार https://gist.github.com/mikovali/7a89b505cd6306bb94a8 उपयोग करने के लिए प्रयास करें। लाइन tabs.setTabTextColors(Color.RED, Color.GREEN) को हटाकर अंधेरे टूलबार पर टेक्स्ट और आइकन दोनों के लिए spec से मेल खाने के लिए पर्याप्त होना चाहिए।

संबंधित मुद्दे