美文网首页
HorizontalPileLayout-横向滑动层叠布局

HorizontalPileLayout-横向滑动层叠布局

作者: Dale_Dawson | 来源:发表于2020-08-21 18:07 被阅读0次

一个横向滑动层叠布局,左滑可以一个个层叠起来,右滑一个个平铺显示,效果图如下

效果图

HorizontalPileLayout

使用方法:

1.添加依赖

 implementation 'com.github.DalesDawson:HorizontalPileLayout:1.0.3' //修改了调用notifyDataSetChanged()方法刷新第一个item不显示问题

2.在布局文件xml中使用

<com.daledawson.pilelayout.HorizontalPileLayout
        android:id="@+id/pileLayout"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:layout_centerInParent="true"
        android:paddingTop="5dp"
        android:paddingBottom="5dp"
        pile:displayCount="1.8"
        pile:interval="10dp"
        pile:scaleStep="0.32"
        pile:sizeRatio="1.12" />

参数说明

变量名 类型 描述
displayCount float 需要显示出的个数(可以是小数)
interval dimension 每一个item之间的间隔
scaleStep float 相对于原本放大的倍数(0.3就是放大到原本的1.3倍)
sizeRatio float 高宽比(可以使用高除以宽得出)

3.在代码中设置adapter

 pileLayout.setAdapter(adapter);//只需要调用一次,多次调用会出错
 pileLayout.notifyDataSetChanged(); //刷新数据调用此方法
 HorizontalPileLayout.Adapter adapter = new HorizontalPileLayout.Adapter() {
        @Override
        public int getLayoutId() {
            return R.layout.item_layout;
        }

        @Override
        public void bindView(View view, int position) {
            ViewHolder viewHolder = (ViewHolder) view.getTag();
            if (viewHolder == null) {
                viewHolder = new ViewHolder();
                viewHolder.imageView = (RoundedImageView) view.findViewById(R.id.imageView);
                view.setTag(viewHolder);
            }
            Picasso.get().load(dataList.get(position)).into(viewHolder.imageView);
        }

        @Override
        public int getItemCount() {
            return dataList.size();
        }

        @Override
        public void displaying(int position) {

        }

        @Override
        public void onItemClick(View view, int position) {
            super.onItemClick(view, position);
        }
    };

    class ViewHolder {
        RoundedImageView imageView;
    }

Demo apk

下载地址

相关文章

网友评论

      本文标题:HorizontalPileLayout-横向滑动层叠布局

      本文链接:https://www.haomeiwen.com/subject/whbujktx.html