android - टैब आइकन नहीं दिखा रहा है




tabs android-tabhost (3)

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

क्या कोई मेरी मदद कर सकता है? मेरा एंड्रॉइड संस्करण 4.0.3 है।

बहुत बहुत धन्यवाद।

<?xml version="1.0" encoding="utf-8"?>

<TabHost xmlns:android="http://schemas.android.com/apk/res/android"
 android:id="@+id/tabhost"
 android:layout_width="fill_parent"
 android:layout_height="fill_parent" >
<LinearLayout
    android:orientation="vertical"
    android:layout_width="fill_parent"
    android:layout_height="fill_parent" >

     <TabWidget android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:id="@android:id/tabs" />

     <FrameLayout android:layout_width="match_parent"
            android:layout_height="match_parent"
            android:id="@android:id/tabcontent" >

        <LinearLayout android:id="@+id/tab1"
            android:orientation="vertical"
            android:layout_width="match_parent"
            android:layout_height="match_parent" >
            <TextView android:id="@+id/textView1"
                android:text="Contenido Tab 1"
                android:layout_width="wrap_content"
                android:layout_height="wrap_content" />
    </LinearLayout>

        <LinearLayout android:id="@+id/tab2"
            android:orientation="vertical"
            android:layout_width="match_parent"
            android:layout_height="match_parent" >
            <TextView android:id="@+id/textView2"
                android:text="Contenido Tab 2"
                android:layout_width="wrap_content"
                android:layout_height="wrap_content" />
    </LinearLayout>

     </FrameLayout>
</LinearLayout>
</TabHost>

और गतिविधि कोड है

public class TabTestActivity extends Activity {
/** Called when the activity is first created. */
@Override
public void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.main);
    Resources res = getResources();

    TabHost tabs=(TabHost)findViewById(R.id.tabhost);
    tabs.setup();

    TabHost.TabSpec spec=tabs.newTabSpec("mitab1");
    spec.setContent(R.id.tab1);
    spec.setIndicator("sss",
            res.getDrawable(android.R.drawable.ic_btn_speak_now));
    tabs.addTab(spec);

    spec=tabs.newTabSpec("mitab2");
    spec.setContent(R.id.tab2);
    spec.setIndicator("TAB2",
            res.getDrawable(android.R.drawable.ic_dialog_map));
    tabs.addTab(spec);



    tabs.setCurrentTab(0);
}

जैसा कि आप देख सकते हैं बहुत सरल है लेकिन जब मैं spec.setIndicator("", res.getDrawable(android.R.drawable.ic_dialog_map)); जब मैं spec.setIndicator("TAB2", res.getDrawable(android.R.drawable.ic_dialog_map)); हूं, तब आइकन देख सकता हूं spec.setIndicator("TAB2", res.getDrawable(android.R.drawable.ic_dialog_map)); मैं केवल TAB2 देख सकता हूं, लेकिन उनमें से कोई नहीं।

ऐसा लगता है कि दोनों को दिखाने के लिए कोई भी जगह नहीं है। इसलिए मैंने इस के साथ टैब ऊँचाई बढ़ाने की कोशिश की है

tabs.getTabWidget().getChildAt(1).getLayoutParams().height = 150; 

लेकिन काम करने के लिए नहीं लगता है


// आपका पहला एक लोड हो रहा है ताकि आप केवल अंतिम जोड़ा एक ही देख सकें

 TabHost.TabSpec spec=tabs.newTabSpec("mitab1");

        spec.setIndicator("sss",
                res.getDrawable(android.R.drawable.ic_btn_speak_now));
 Intent sssIntent = new Intent(this, First.class);
 spec.setContent(sssIntent);
        tabs.addTab(spec);

TabHost.TabSpec spec2=tabs.newTabSpec("mitab2");
        spec2=tabs.newTabSpec("mitab2");
        spec2.setIndicator("TAB2",
                res.getDrawable(android.R.drawable.ic_dialog_map));
Intent sssIntent2 = new Intent(this, Second.class);
 spec2.setContent(sssIntent2 );
        tabs.addTab(spec2);

मैंने शून्य नाम के साथ लेबल का नाम बदल दिया अब मैं अकेले आइकन देख सकता हूं .. कोई अन्य समाधान नहीं मिल सका।

TabHost.TabSpec spec=tabs.newTabSpec("mitab1");

spec.setIndicator("",
                  res.getDrawable(android.R.drawable.ic_btn_speak_now));
Intent sssIntent = new Intent(this, First.class);
spec.setContent(sssIntent);
tabs.addTab(spec);

टैब में आइकन (एक साथ लेबल के साथ) की दृश्यता लक्ष्य डिवाइस और एंड्रॉइड प्लेटफ़ॉर्म संस्करण पर निर्भर करती है।

इस मुद्दे पर मुझे गहराई से देखा गया था और इस समस्या के बारे में आपके और (काफी समान) प्रश्न पर अधिक विवरण और समाधान जोड़ा गया है; इसे यहां पर देख जा सकता है:

https://.com/a/11379708/414581





android-4.0