2017-08-31 56 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

你好,你的意思是确定图标的大小? –