mbaird उल्लेख किया है, बेहतर समाधान चयनकर्ता के साथ पृष्ठभूमि उपयोग करने के लिए है, तो आप onTabChanged
जाँच करने के लिए नहीं है और मैनुअल अद्यतन करना है। कम से कम कोड यहाँ है:
private void initTabsAppearance(TabWidget tabWidget) {
// Change background
for(int i=0; i < tabWidget.getChildCount(); i++)
tabWidget.getChildAt(i).setBackgroundResource(R.drawable.tab_bg);
}
कहाँ tab_bg
चयनकर्ता के साथ एक xml drawable है:
<selector xmlns:android="http://schemas.android.com/apk/res/android">
<item android:state_selected="true" android:drawable="@drawable/tab_bg_selected" />
<item android:drawable="@drawable/tab_bg_normal" />
</selector>
मैं टैब पाठ शैली बदलते कस्टम थीम का उपयोग के लिए कोड जोड़ देगा पूर्ण टैब अनुकूलन के लिए। styles.xml
को यह करें:
<resources>
<style name="MyCustomTheme" parent="@android:style/Theme.Light.NoTitleBar">
<item name="android:tabWidgetStyle">@style/CustomTabWidget</item>
</style>
<style name="CustomTabWidget" parent="@android:style/Widget.TabWidget">
<item name="android:textAppearance">@style/CustomTabWidgetText</item>
</style>
<style name="CustomTabWidgetText" parent="@android:style/TextAppearance.Widget.TabWidget">
<item name="android:textSize">12sp</item>
<item name="android:textStyle">bold</item>
</style>
</resources>
इस विषय का उपयोग करने के लिए, AndroidManifest.xml में इसे परिभाषित:
<application android:theme="@style/MyCustomTheme">
और अब आप कस्टम पृष्ठभूमि और कस्टम पाठ शैली साथ टैब विजेट है।
स्रोत
2011-09-17 09:13:10
धन्यवाद एक बहुत, यह वास्तव में मुझे मदद मिली। एक्सएमएल में इस दृष्टिकोण को लागू करने का कोई तरीका है? – teoREtik
@teoretik XML स्थिर सामग्री है, केवल तभी जब आपकी गतिविधि पहली बार लॉन्च की जाती है (लेआउट प्रारंभिकरण), तो नहीं। – Blundell
आपकी मदद के लिए धन्यवाद .. यह उत्तर बहुत उपयोगी है .. इसके लिए +1 .. चीयर्स अप .. !! – Aditya1510