2012-08-07 24 views
23

एंड्रॉइड: एंड्रॉइड सपोर्ट लिब संस्करण 4 से पेजरटैबस्ट्रिप में आइकन/ड्रॉबल्स कैसे जोड़ें?एंड्रॉइड: Android समर्थन Lib संस्करण 4 से PagerTabStrip में आइकन/ड्रॉबल्स कैसे जोड़ें?

यह पेजरटैबस्ट्रिप के बारे में जागरूक लोगों के लिए बहुत विशिष्ट प्रश्न है, मुझे कहीं भी पर्याप्त उदाहरण नहीं मिल सका, यह किसी भी तरह से नया (पेजरटैबस्ट्रिप) है इसलिए मुझे पर्याप्त जानकारी नहीं मिली।

उत्तर

49

आप स्पैन करने योग्य स्ट्रिंग या स्पैनबलस्टिंगबिल्डर का उपयोग करके पेजटैबस्ट्रिप में आसानी से आइकन/ड्रायबल जोड़ सकते हैं।

उदाहरण के लिए, पाठ से पहले एक आइकन प्रदर्शित करने के लिए:

Drawable myDrawable; //Drawable you want to display 

@Override 
public CharSequence getPageTitle(int position) { 

    SpannableStringBuilder sb = new SpannableStringBuilder(" Page #"+ position); // space added before text for convenience 

    myDrawable.setBounds(0, 0, myDrawable.getIntrinsicWidth(), myDrawable.getIntrinsicHeight()); 
    ImageSpan span = new ImageSpan(myDrawable, ImageSpan.ALIGN_BASELINE); 
    sb.setSpan(span, 0, 1, Spanned.SPAN_EXCLUSIVE_EXCLUSIVE); 

    return sb; 
} 
+0

यदि मैं इसे स्ट्रिंग के नीचे जोड़ना चाहता हूं तो यह क्या होगा। – Vaibs

+0

@ वैब्स कृपया साझा करें अगर आप आइकन के नीचे टेक्स्ट जोड़ने में सक्षम थे। धन्यवाद। – iuq

+1

कृपया मेरा उत्तर संपादित करने के लिए अपना उत्तर संपादित करें। यह अच्छा काम करता है। –

2

@MatthewHousser अगर SteveR का समाधान है क्योंकि आप अपने एक्सएमएल में PagerTabStrip में एक निश्चित आकार सेट यह हो सकता है काम नहीं करता। यह है कि मैं क्या था:

<android.support.v4.view.PagerTabStrip 
     android:id="@+id/pager_tab_strip" 
     android:layout_width="match_parent" 
     android:layout_height="30dp"> 
</android.support.v4.view.PagerTabStrip> 

यह वही है मैं अब है:

<android.support.v4.view.PagerTabStrip 
     android:id="@+id/pager_tab_strip" 
     android:layout_width="match_parent" 
     android:layout_height="wrap_content"> 
</android.support.v4.view.PagerTabStrip> 

छवि पहले मामले में प्रदर्शित नहीं किया गया था, और दूसरे मामले में प्रदर्शित होता है। उम्मीद है कि यह मदद करेगा।