2015-06-24 19 views

回答

4

在您的尋呼機適配器中實現IconTabProvider接口。例如:

public class MyPagerAdapter extends FragmentPagerAdapter implements IconTabProvider { 

    private int icons[] = {R.drawable.firstIcon, R.drawable.secondIcon, R.drawable.thirdIcon}; 


    public MyPagerAdapter (FragmentManager fm) { 
     super(fm); 
    } 

    @Override 
    public int getCount() { 
     return 3; // number of pages 
    } 

    @Override 
    public Fragment getItem(int position) { 
     return MyFragment.newInstance(position); 
    } 

    @Override 
    public int getPageIconResId(int position) { 
     return icons[position]; 
    } 
} 

編輯:
添加圖標文本,使用getPageTitle並返回一個spannable:

@Override 
public CharSequence getPageTitle(int position) { 
    // Generate title based on item position 
    Drawable image = context.getResources().getDrawable(icons[position]); 
    image.setBounds(0, 0, image.getIntrinsicWidth(), image.getIntrinsicHeight()); 
    // Replace blank spaces with image icon 
    SpannableString sb = new SpannableString(" " + tabTitles[position]); 
    ImageSpan imageSpan = new ImageSpan(image, ImageSpan.ALIGN_BOTTOM); 
    sb.setSpan(imageSpan, 0, 1, Spannable.SPAN_EXCLUSIVE_EXCLUSIVE); 
    return sb; 
} 
+0

我在哪裏可以獲得IconTabProvider從? – Jack

+0

這是一個界面,在PagerSlidingTabStrip.java內 –

+0

由於某種原因,我使用的庫過時的版本,所以我必須更新庫到最新版本才能夠使用「圖標選項卡提供程序」 – Jack

0

遵循以下步驟:1. 使你的類名

public class SampleFragmentPagerAdapter extends FragmentPagerAdapter implements 
    PagerSlidingTabStrip.IconTabProvider { 
  1. 聲明可繪製

    final int [] icons = new int [] {R.drawable.a,R.drawable.b};

  2. 複製粘貼此功能

    @覆蓋 公衆詮釋getPageIconResId(INT位置){ 返回圖標[位置]。 }

那就是它。是應該工作

+0

如果我們想添加帶有文本的圖標,那麼怎麼辦? –

相關問題