2011-09-09 14 views
7

मैं सेटअप मेरी टैब है इस प्रकार है:एंड्रॉयड टैब्स

spec = tabHost.newTabSpec("tab1").setIndicator("Tab 1").setContent(intent); 
    tabHost.addTab(spec); 

और अब मैं एक टैब कोई आइकन, केवल एक शीर्षक है कि है, लेकिन यह सिर्फ के साथ एक आइकन के आकार की खाली जगह छोड़ देता है नीचे शीर्षक - मैंने xml में layout_height को समायोजित करने का प्रयास किया, लेकिन फिर पाठ चला गया क्योंकि यह कटऑफ बिंदु के नीचे प्रस्तुत किया गया है।

मैं एक टैब का आकार कैसे बदल सकता हूं, और शीर्षक के बिना शीर्षक प्रदर्शित किया जा सकता है?

+0

[आइकन बिना टैब्स] के संभावित डुप्लिकेट (http://stackoverflow.com/questions/4460806/tabs-without-icon) –

उत्तर

11

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

http://joshclemm.com/blog/?p=136

गुड लक, Arkde

+0

या! बहुत अच्छा काम किया - एक्सएमएल में टैब अभिविन्यास को बदलना पड़ा और टिप्पणियों को पढ़ना था कि एक इरादा कैसे जोड़ना है। धन्यवाद Arkde! – GideonKain

1

बदलें लेआउट से और प्रदर्शन के लिए केवल टैब टाइल लिखने कोड के रूप में प्रति कोड के टुकड़े नीचे

tabhost=getTabHost(); 


intent = new Intent(this,MainActivity.class); 
spec1 = tabhost.newTabSpec("").setIndicator("main_tab"); 
spec1.setContent(intent); 
tabhost.addTab(spec1); 

intent = new Intent(this,xyz.class); 
spec2 = tabhost.newTabSpec("").setIndicator("first_tab"); 
spec2.setContent(intent); 
tabhost.addTab(spec2); 
+0

मैंने यह किया और यही कारण है कि यह एक बड़े भूरे रंग के बॉक्स के रूप में दिखाई दिया, जिसमें कोई आइकन और शीर्षक नहीं था - आर्कडे का समाधान उचित कामकाज प्रतीत होता है – GideonKain

2

TabWidget layout_height और गुरुत्वाकर्षण बदलने से आपके tabhost आकार एक्सएमएल में मेरे लिए काम किया। पाठ टैब में केंद्रित नहीं है लेकिन पहले की तरह नीचे के साथ गठबंधन किया गया है।

<TabWidget android:id="@android:id/tabs" 
    android:layout_width="fill_parent" android:layout_height="40dp" 
    android:gravity="bottom" /> 
0
// Center text displayed on a first tab 
View view = _tabHost.getTabWidget().getChildAt(0); 
if (view != null) { 
    // Hide icon 
    View tabImage = view.findViewById(android.R.id.icon); 
    if (tabImage != null) { 
     tabImage.setVisibility(View.GONE); 
    } 
    // Find text 
    TextView tabTitle = (TextView) view.findViewById(android.R.id.title); 
    if (tabTitle != null) { 
     // Change text gravity 
     tabTitle.setGravity(Gravity.CENTER); 
     // Remove text view from it's parent and re-add back to reset layout parameters 
     ViewGroup parent = (ViewGroup) tabTitle.getParent(); 
     parent.removeView(tabTitle); 
     parent.addView(tabTitle); 
     // New default layout parameters will have height set to WRAP_CONTENT, change it to MATCH_PARENT 
     ViewGroup.LayoutParams params = tabTitle.getLayoutParams(); 
     params.height = ViewGroup.LayoutParams.MATCH_PARENT; 
    } 
} 
संबंधित मुद्दे