2017-08-31 57 views
1

我已經maked一個ViewPager用3個片段:ViewPager圖像中片段標題

public class MainActivity extends AppCompatActivity { 

    TabLayout tabLayout; 
    ViewPager viewPager; 

    @Override 
    protected void onCreate(Bundle savedInstanceState) { 
     super.onCreate(savedInstanceState); 
     setContentView(R.layout.activity_main); 

     viewPager = (ViewPager) findViewById(R.id.viewPager); 
     viewPager.setAdapter(new CustomAdapter(getSupportFragmentManager(),getApplicationContext())); 

     tabLayout = (TabLayout) findViewById(R.id.tabLayout); 
     tabLayout.setupWithViewPager(viewPager); 

     tabLayout.setOnTabSelectedListener(new TabLayout.OnTabSelectedListener() { 
      @Override 
      public void onTabSelected(TabLayout.Tab tab) { 
       viewPager.setCurrentItem(tab.getPosition()); 
      } 

      @Override 
      public void onTabUnselected(TabLayout.Tab tab) { 
       viewPager.setCurrentItem(tab.getPosition()); 
      } 

      @Override 
      public void onTabReselected(TabLayout.Tab tab) { 
       viewPager.setCurrentItem(tab.getPosition()); 
      } 
     }); 

    } 


    private class CustomAdapter extends FragmentPagerAdapter { 

     private String fragments [] = {"Fragment 1","Fragment 2", "Fragment 3"}; 

     public CustomAdapter(FragmentManager supportFragmentManager, Context applicationContext) { 
      super(supportFragmentManager); 
     } 

     @Override 
     public Fragment getItem(int position) { 
      switch (position){ 
       case 0: 
        return new Fragment1(); 
       case 1: 
        return new Fragment2(); 
       case 2: 
        return new Fragment3(); 
       default: 
        return null; 
      } 
     } 

     @Override 
     public int getCount() { 
      return fragments.length; 
     } 

     @Override 
     public CharSequence getPageTitle(int position) { 
      return fragments[position]; 
     } 
    } 
} 

我會代替字符串標題(樣片段1,2 ...)的可繪製文件夾的圖像。

回答

0

我沒有從你的問題中得知你究竟想幹什麼!但我認爲你是想設置圖像而不是片段的標題。如果是,那麼它可能會幫助你。

您可以使用getTabAt,setIcon()方法使用tabLayout對象輕鬆設置圖標。

tabLayout.getTabAt(i).setIcon(); 

你也可以參考:

How to add page title and icon in android FragmentPagerAdapter

P.S如果你的問題是不同的,請提出來,謝謝。

+0

是的,謝謝。我想設置圖像而不是片段標題:D –

+0

如何確定圖標的大小? –

+0

你好,你的意思是確定圖標的大小? –