{
    分享网正式开通,我们为大家提供免费资源,欢迎大家踊跃投稿!

使用RecyclerView实现的tablayout库

一个高效的TabLayout库RecyclerView实施。

特征

  • 高效有许多选项卡时,
  • 与ViewPager(同易于安装TabLayout Android设计支持库)
  • RTL布局支持

用例

  • 许多标签布局
  • 无限循环滚动(模仿)

演示

 

入门

在你的build.gradle:

repositories {
    jcenter()
}

dependencies {
   compile 'com.nshmura:recyclertablayout:1.0.2'
}

定义RecyclerTabLayout与自定义属性的XML布局。

< com .nshmura.recyclertablayout.RecyclerTabLayout
         android : id = " @+id/recycler_tab_layout "
         android : layout_width = " match_parent "
         android : layout_height = " 48dp "
         rtl_tabIndicatorColor = " ?attr/colorAccent "
         rtl_tabIndicatorHeight = " 2dp "
         rtl_tabBackground = " ?attr/selectableItemBackground "
         rtl_tabTextAppearance = " @android:style/TextAppearance.Small "
         rtl_tabSelectedTextColor = " ?android:textColorPrimary "
         rtl_tabMinWidth = " 72dp "
         rtl_tabMaxWidth = " 264dp "
         rtl_tabPaddingStart = " 12dp "
         rtl_tabPaddingTop = " 0dp "
         rtl_tabPaddingEnd = " 12dp "
         rtl_tabPaddingBottom = " 0dp "
         rtl_tabPadding = " 0dp " />

设置与ViewPager。

 
ViewPager viewPager = (ViewPager) findViewById(R.id.view_pager);
viewPager.setAdapter(adapter);

RecyclerTabLayout recyclerTabLayout = (RecyclerTabLayout) findViewById(R.id.recycler_tab_layout);
recyclerTabLayout.setUpWithViewPager(viewPager);

或者设置与ViewPager和自定义RecyclerView.Adapter这就是延伸RecyclerTabLayout.Adapter

 
ViewPager viewPager = (ViewPager) findViewById(R.id.view_pager);
viewPager.setAdapter(adapter);

RecyclerTabLayout recyclerTabLayout = (RecyclerTabLayout) findViewById(R.id.recycler_tab_layout);
recyclerTabLayout.setUpWithAdapter(new CustomRecyclerViewAdapter(viewPager));

这里的风俗RecyclerView适配器的样本。

 
public class CustomRecyclerViewAdapter extends RecyclerTabLayout.Adapter<CustomRecyclerViewAdapter.ViewHolder> {

    public DemoCustomView01Adapter(ViewPager viewPager) {
        super(viewPager);
        ...
    }

    @Override
    public ViewHolder onCreateViewHolder(ViewGroup parent, int viewType) {
        // Inflate your view.
        View view = ...;
        return new ViewHolder(view);
    }

    @Override
    public void onBindViewHolder(ViewHolder holder, int position) {
        // Bind data
        ...

        if (position == getCurrentIndicatorPosition()) {
            //Highlight view
        }
    }

    public class ViewHolder extends RecyclerView.ViewHolder {
        ...

        public ViewHolder(View itemView) {
            super(itemView);
        ...
        }
    }
}

属性

ATTR 描述
rtl_tabIndicatorColor 指示灯颜色
rtl_tabIndicatorHeight 指标高度
rtl_tabBackground 每个选项卡的背景绘制
rtl_tabTextAppearance 每个选项卡的TextAppearence
rtl_tabSelectedTextColor 所选选项卡的文本颜色
rtl_tabOnScreenLimit 屏幕上的标签的数量。如果该值大于0时,rtl_tabMinWidthrtl_tabMaxWidth将被忽略。
rtl_tabMinWidth 每个标签的最小宽度
rtl_tabMaxWidth 每个标签的最大宽度
rtl_tabPaddingStart 每个标签开始边缘的填充
rtl_tabPaddingTop 每个选项卡的顶部边缘的填充
rtl_tabPaddingEnd 每个选项卡的端部边缘的填充
rtl_tabPaddingBottom 每个标签的底部边缘的填充
rtl_tabPadding 每个标签的所有四个边缘的填充
rtl_scrollEnabled 标签滚动设置是否启用


资源均来自第三方,谨慎下载,前往第三方网站下载


米微资源分享网 , 版权所有丨本站资源仅限于学习研究,严禁从事商业或者非法活动!丨本网站采用BY-NC-SA协议进行授权
转载请注明原文链接:使用RecyclerView实现的tablayout库
喜欢 ()分享 (0)