tablayout 图标位置自定义位置,解决mCommunityTab.setupWithViewPager(mCommunityFrgVp);不显示content;tablayout固顶

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/qq_34272093/article/details/80207704

自定义布局处理

private View customTabView(String content,int imgId){
    View tabView = LayoutInflater.from(getContext()).inflate(R.layout.community_coustom_tab_view,null,false);
    ImageView tabImg = tabView.findViewById(R.id.custom_tab_img);
    TextView tabTxt = tabView.findViewById(R.id.custom_tab_content);
    tabImg.setImageResource(imgId);
    tabTxt.setText(content);
    return tabView;
}

使用方法

mCommunityTab.addTab(mCommunityTab.newTab().setCustomView(customTabView("tab1",R.drawable.tab_fire)));
mCommunityTab.addTab(mCommunityTab.newTab().setCustomView(customTabView("tab2",R.drawable.tab_user)));
 
 
mCommunityTab.addTab(mCommunityTab.newTab());
mCommunityTab.addTab(mCommunityTab.newTab());
initVP();
mCommunityTab.setupWithViewPager(mCommunityFrgVp);
mCommunityTab.getTabAt(0).setCustomView(customTabView(R.string.tab_one, R.drawable.tab_fire));
mCommunityTab.getTabAt(1).setCustomView(customTabView(R.string.tab_two, R.drawable.tab_user));
不用再adapter中重写
CharSequence 方法
 
 
@Nullable
@Override
public CharSequence getPageTitle(int position) {
    return super.getPageTitle(position);
}
代码
 
 
  mCommunityTab.addTab(mCommunityTab.newTab());
    mCommunityTab.addTab(mCommunityTab.newTab());
    initVP();
    mCommunityTab.setupWithViewPager(mCommunityFrgVp);
    mCommunityTab.getTabAt(0).setCustomView(customTabView(R.string.tab_one, R.drawable.tab_fire));
    mCommunityTab.getTabAt(1).setCustomView(customTabView(R.string.tab_two, R.drawable.tab_user));
}

private void initVP() {
    List<Fragment> frgs = new ArrayList<>();
    frgs.add(RecommendFrg.getInstance());
    frgs.add(DynamicFrg.getInstance());
    RecmPageAdapter vp = new RecmPageAdapter(mActivity.getSupportFragmentManager(),frgs);
    mCommunityFrgVp.setAdapter(vp);

}
adapter代码
public class RecmPageAdapter extends FragmentPagerAdapter {
    private List<Fragment> frgs;

    public RecmPageAdapter(FragmentManager fm,List<Fragment> frgs) {
        super(fm);
        this.frgs = frgs;
    }

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

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


}
AppBarLayout布局里面添加
android:fitsSystemWindows="true"属性
可以滑动的布局设置
app:layout_scrollFlags="scroll"属性
toolbar因为要固顶在顶部不需要设置

效果图




猜你喜欢

转载自blog.csdn.net/qq_34272093/article/details/80207704