我的应用中有一个标签布局,我想在某些条件发生时将图像添加到其中一个标签中。但我不知道该怎么做
以下是任何更改之前的标签布局
以下是我想实现的条件我想要红色圆圈上的红色图像和文字视图。
目前我的标签布局代码如下所示
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.addFragment(new 1stFragment(), "One");
adapter.addFragment(new 2ndFragment(), "Two");
adapter.addFragment(new 3rdFragment(), "Three");
adapter.addFragment(new 4thFragment(), "Four");
viewPager.setAdapter(adapter);
}
private class ViewPagerAdapter extends FragmentPagerAdapter {
private final List<Fragment> mFragmentList = new ArrayList<>();
private final List<String> mFragmentTitleList = new ArrayList<>();
ViewPagerAdapter(FragmentManager manager) {
super(manager);
}
@Override
public Fragment getItem(int position) {
return mFragmentList.get(position);
}
@Override
public int getCount() {
return mFragmentList.size();
}
void addFragment(Fragment fragment, String title) {
mFragmentList.add(fragment);
mFragmentTitleList.add(title);
}
@Override
public CharSequence getPageTitle(int position) {
return null;
}
}
最后,我怎样才能控制标签布局,所以我可以将drawable / image添加到标签之一?有人请指出正确的方向。谢谢。
答案 0 :(得分:3)
您可能需要使用自定义布局。
View v = LayoutInflater.from(this).inflate(R.layout.your_view, null);
v.setLayoutParams(new ViewGroup.LayoutParams(ViewGroup.LayoutParams.MATCH_PARENT, ViewGroup.LayoutParams.WRAP_CONTENT));
tabLayout.getTabAt(position).setCustomView(v);
根据您的需要设计your_view.xml布局
答案 1 :(得分:-1)
也许这会有所帮助,它是支持徽章视图的自定义标签布局 https://android-arsenal.com/details/1/5418