10

मैं केवल आइकन के साथ ऐप बार बनाने के लिए एंड्रॉइड डिज़ाइन लाइब्रेरी में नया टैबलाउट का उपयोग करने की कोशिश कर रहा हूं।एंड्रॉइड डिज़ाइन लाइब्रेरी में टैबलेआउट का उपयोग करके आइकन वाला टैब

इस तरह: enter image description here

मैं इसे कैसे नई TabLayout एंड्रॉयड डिजाइन लाइब्रेरी का उपयोग कर सकते हैं।

इसके लिए कोई आसान समाधान है, या मुझे केवल सेट कस्टम व्यू का उपयोग करना होगा। मैं इसका उपयोग करने से बचने की कोशिश कर रहा हूं। क्योंकि मुझे उपरोक्त इस छवि की तरह आइकन के लिए टिंट रंग नहीं मिला।

मैं इस तरह लिखने की कोशिश:

tabLayout.addTab(tabLayout.newTab().setIcon(R.drawable.ic_dashboard)) 

लेकिन जब मैं टैब का चयन करें

+0

मैंने 'TabLayout' का उपयोग नहीं किया है, इसलिए अगर यह सहायक नहीं है तो मुझे क्षमा करें, लेकिन क्या आपने' TabLayout # setTabTextColors (int normalcolor, int चयनितcolor) 'में उपयोग करने का प्रयास किया है? मुझे यकीन नहीं है कि यह आपको वह चीज़ देगा जो आप चाहते हैं, लेकिन इसे स्थापित करने के लिए यह चोट नहीं पहुंचा सकता है? –

उत्तर

-2

मैं इस तरह इसे हल: यदि आप जावा कोड में

tint_tab.xml

<com.hannesdorfmann.appkit.image.TintableImageView 
xmlns:android="http://schemas.android.com/apk/res/android" 
xmlns:app="http://schemas.android.com/apk/res-auto" 
android:layout_width="wrap_content" 
android:layout_height="wrap_content" 
app:tint="@color/tab_color_selector"/> 

TintableImageView tab1 = (TintableImageView) LayoutInflater.from(this).inflate(R.layout.tint_tab, null); 
tab1.setImageResource(R.drawable.ic_dummy); 
mTabLayout.getTabAt(0).setCustomView(tab1) 

रेफरी: https://github.com/sockeqwe/appkit/blob/master/image/src/main/java/com/hannesdorfmann/appkit/image/TintableImageView.java

9

आप आइकन के लिए एक selector बनाने के लिए आइकन अभी भी एक ही रंग में रहते हैं। उदाहरण के लिए:

<?xml version="1.0" encoding="utf-8"?> 
<selector xmlns:android="http://schemas.android.com/apk/res/android"> 
    <item android:drawable="@drawable/ic_dashboard_pressed" 
      android:state_pressed="true" /> 
    <item android:drawable="@drawable/ic_dashboard_selected" 
      android:state_selected="true" /> 
    <item android:drawable="@drawable/ic_dashboard_normal" /> 
</selector> 
+3

नए एंड्रॉइड डेवलपर्स के लिए इस प्रश्न पर ठोकर खा रहा है: यह फ़ाइल ड्रॉइंग निर्देशिका (जैसे 'my_icon.xml') में सहेजी जानी चाहिए। और एक नियमित ड्राइटेबल आइकन की तरह कोड का उपयोग करके पहुंचा जा सकता है। (उदा। 'R.drawable.my_icon') – ntsh

+1

इसलिए यदि आपके पास 4 टैब हैं तो हम 4 चयनकर्ता रखेंगे ?? यह बुरा होगा मुझे लगता है .. – Manikanta

+1

@ मणिकांत आपके पास पहले से दबाए गए, केंद्रित इत्यादि दिखाने के लिए प्रत्येक टैब के लिए एकाधिक आइकन स्टेटस हैं। चयनकर्ता आइकन के बीच संबंध बनाए रखने का एक बहुत सुविधाजनक तरीका हैं। यह तकनीक लेआउट फाइलों को बहुत सरल बनाती है क्योंकि उन्हें अलग-अलग राज्यों के बारे में जानने के बजाय केवल एक 'ड्रायबल' चयनकर्ता से निपटने की आवश्यकता होती है। –

1

मैं इस्तेमाल किया यह ऐसा है यह: ने @ बुडियस द्वारा दिखाए गए अनुसार एक XML फ़ाइल को खींचने योग्य बनाया है।

कोड में

: tabLayout.getTabAt(0).setIcon(R.drawable.settings_tab_drawable);

और इतने पर।

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