2016-10-26 10 views
0

タブ全体のアイコンを設定するにはどうすればいいですか?タブ全体のボタンのアイコンを設定する方法は?

enter image description here

このコードは、インターネットからのダウンロードとタブがする必要がdoes notのテキストです。 .... 私は完璧な英語翻訳をお詫び申し上げます。画像自体は話す

public class MainActivity extends AppCompatActivity { 
private Toolbar toolbar; 
private TabLayout tabLayout; 
private ViewPager viewPager; 
private int[] tabIcons = { 
     R.drawable.likepress, 
     R.drawable.kufrpress, 
     R.drawable.referralpress, 
     R.drawable.changepress 
}; 

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

    toolbar = (Toolbar) findViewById(R.id.toolbar); 
    setSupportActionBar(toolbar); 
    getSupportActionBar().setDisplayHomeAsUpEnabled(true); 

    viewPager = (ViewPager) findViewById(R.id.viewpager); 
    setupViewPager(viewPager); 

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

private void setupTabIcons() { 
    tabLayout.getTabAt(0).setIcon(tabIcons[0]); 
    tabLayout.getTabAt(1).setIcon(tabIcons[1]); 
    tabLayout.getTabAt(2).setIcon(tabIcons[2]); 
    tabLayout.getTabAt(3).setIcon(tabIcons[3]); 
} 

private void setupViewPager(ViewPager viewPager) { 
    ViewPagerAdapter adapter = new ViewPagerAdapter(getSupportFragmentManager()); 
    adapter.addFrag(new OneFragment(), "ONE"); 
    adapter.addFrag(new TwoFragment(), "TWO"); 
    adapter.addFrag(new ThreeFragment(), "THREE"); 
    adapter.addFrag(new ThreeFragment(), "For"); 
    viewPager.setAdapter(adapter); 
} 

class ViewPagerAdapter extends FragmentPagerAdapter { 
    private final List<Fragment> mFragmentList = new ArrayList<>(); 
    private final List<String> mFragmentTitleList = new ArrayList<>(); 

    public ViewPagerAdapter(FragmentManager manager) { 
     super(manager); 
    } 

    @Override 
    public Fragment getItem(int position) { 
     return mFragmentList.get(position); 
    } 

    @Override 
    public int getCount() { 
     return mFragmentList.size(); 
    } 

    public void addFrag(Fragment fragment, String title) { 
     mFragmentList.add(fragment); 
     mFragmentTitleList.add(title); 
    } 

    @Override 
    public CharSequence getPageTitle(int position) { 
     return null; 
    } 
} 
} 
+0

あなたが全体の領域を占めたい場合は、独自のカスタムXML要素/ Javaクラスを作成する必要があります。または、ネイティブ要素を掘り下げてイメージビューのサイズを変更し、パディングとマージンを削除することができます。ちょっと考えて... – apelsoczi

+0

こんにちは。私は本当に初心者なので、タブウィジェットは私にとっては最も簡単です。カスタムXML要素/ Javaクラスを追加するようにコードを調整してください。 –

答えて

0

tabLayout.getTabAt(i)setCustomView(view)を使用すると、各タブのカスタム表示を配置できます。たとえば、アイコン付きのImageViewにすることができます