2015-12-19 9 views
7

aşağıdaki tutorial metin ve simge ile Tablayout üzerinde çalışıyorum metne yanındaki simgeyi ayarlamak için? Android Development’da yeniyim, umarım siz de bana yardımcı olabilirsiniz. Gerçekten cevabı takdir şimdiden teşekkürler ..nasıl</p> <p>Sorum metne yerine onların üzerinde yanına yerleştirilen simge yapmak nasıl .. tablayout

enter image description here

İşte benim java dosya

public class AllProducts extends AppCompatActivity { 

public ViewPager viewPager; 
public TabLayout tabLayout; 
    public int[] tabIcons = { 
    R.drawable.ic_directions_car_white_24dp, 
    R.drawable.ic_motorcycle_white_24dp, 
    R.drawable.ic_build_white_24dp 
}; 

@Override 
protected void onCreate(Bundle savedInstanceState) { 
    super.onCreate(savedInstanceState); 
    setContentView(R.layout.all_products); 
    Toolbar toolbar = (Toolbar) findViewById(R.id.toolbar); 
    setSupportActionBar(toolbar); 
    getSupportActionBar().setDisplayHomeAsUpEnabled(true); 
    getSupportActionBar().setDisplayShowHomeEnabled(true); 


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

    tabLayout = (TabLayout) findViewById(R.id.sliding_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]); 
} 


private void setupViewPager(ViewPager viewPager) { 
    ViewPagerAdapter adapter = new ViewPagerAdapter(getSupportFragmentManager()); 
    adapter.addFragment(new Tab1(), "CAR"); 
    adapter.addFragment(new Tab2(), "MOTORCYCLE"); 
    adapter.addFragment(new Tab3(), "OTHERS"); 
    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 addFragment(Fragment fragment, String title) { 
     mFragmentList.add(fragment); 
     mFragmentTitleList.add(title); 
    } 

    @Override 
    public CharSequence getPageTitle(int position) { 
     return mFragmentTitleList.get(position); 
    } 
} 

@Override 
public boolean onOptionsItemSelected(MenuItem item) { 
    switch (item.getItemId()) { 
     case android.R.id.home: 
      finish(); 
      return true; 
     default: 
      return super.onOptionsItemSelected(item); 
    } 
} 

}

+0

kodunuzu gönderin. – Abhishek

+0

Yani, bunun için özel düzenler ekliyor musunuz? –

+0

Hayır, ben sadece java kodları .. Üzgünüm kod zaten yazmış .. –

cevap

2

Çok kolay olduğunu.

Tab tab = tabLayout.newTab(); 
tab.setCustomLayout(R.layout.whatever); 
tabLayout.addTab(add); 

düzeniniz sizin simgesini belirten bir drawableRight ile basit TextView olacaktır.

Daha fazla bilgi için: http://panavtec.me/playing-with-the-new-support-tablayout/

+0

Bu yöntemdeki sorunum, sekmede özel bir düzen ayarladığınızda, Tablayout'un artık metin rengini otomatik olarak değiştirememesidir. sekmenin seçilip seçilmediğine bağlı olarak. Bu işi nasıl yapacağı hakkında bir fikrin var mı? –

İlgili konular