टैब के लिए अपने स्वयं के लेआउट का उपयोग करने के लिए इस विधि और लेआउट का उपयोग करें। विभाजक को हटाने के लिए बस पृष्ठभूमि 9 पैच ग्राफ़िक को अपने आप से बदलें।
public static View prepareTabView(Context context, String text, Drawable background) {
View view = LayoutInflater.from(context).inflate(R.layout.fake_native_tab, null);
TextView tv = (TextView) view.findViewById(R.id.fakeNativeTabTextView);
tv.setText(text);
view.setBackgroundDrawable(background);
return view;
}
fake_native_tab.xml:
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:id="@+id/fakeNativeTabLayout" android:layout_width="wrap_content"
android:layout_height="wrap_content" android:gravity="center"
android:orientation="vertical" android:background="@drawable/default_tab_background">
<!--
You can even define an Icon here (dont forget to set a custom icon in your code for each Tab):
<ImageView android:id="@+id/fakeNativeTabImageView"
android:layout_width="wrap_content"
android:layout_height="wrap_content" android:src="@drawable/icon" />
-->
<TextView android:id="@+id/fakeNativeTabTextView"
android:layout_width="wrap_content" android:layout_height="wrap_content"
android:textColor="@color/tab_text_color" android:textSize="@dimen/text_size_tiny"
android:text="Tab" android:ellipsize="marquee" />
</LinearLayout>
उपयोग (अपने TabActivity
अंदर):
/* Create Tabs */
// reusable Tab Spec
TabHost.TabSpec spec;
Intent tabIntent;
tabHost = getTabHost();
Resources res = getResources();
// Tab 1:
tabIntent = new Intent().setClass(this, Favorite.class);
spec = tabHost.newTabSpec(TAB_SOMETAB).setIndicator(
prepareTabView(this, (String) getText(R.string.tab_favorite), res
.getDrawable(R.drawable.tab_favorite_background), 0)).setContent(tabIntent);
tabHost.addTab(spec);
// Tab 2:
tabIntent = new Intent().setClass(this, History.class);
spec = tabHost.newTabSpec(TAB_SOMEOTHERTAB).setIndicator(
prepareTabView(this, (String) getText(R.string.tab_history), res
.getDrawable(R.drawable.tab_favorite_background), 0)).setContent(tabIntent);
tabHost.addTab(spec);
धन्यवाद था और मैं भी दो टैब्स के बीच में विभक्त लाइन निकालना चाहते हैं। कृपया मुझे बताएं कि दो टैब – Ramakrishna
के बीच विभाजक रेखा को कैसे निकालना संभव है, टैब की चौड़ाई और ऊंचाई को प्रोग्रामेटिक रूप से सेट करना संभव है, इसलिए चौड़ाई का विस्तार करने का प्रयास करें, तो आप इसे प्राप्त कर सकते हैं ... – Lavanya
बस एक पृष्ठभूमि ग्राफ़िक का उपयोग करें जिसमें विभाजक नहीं है इसमें लाइन – Mannaz