HorizontalPileLayout-橫向滑動層疊布局

一個橫向滑動層疊布局,左滑可以一個個層疊起來,右滑一個個平鋪顯示,效果圖如下

效果圖

HorizontalPileLayout

使用方法:

1.添加依賴

 implementation 'com.github.DalesDawson:HorizontalPileLayout:1.0.3' //修改了調(diào)用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" />

參數(shù)說明

變量名 類型 描述
displayCount float 需要顯示出的個數(shù)(可以是小數(shù))
interval dimension 每一個item之間的間隔
scaleStep float 相對于原本放大的倍數(shù)(0.3就是放大到原本的1.3倍)
sizeRatio float 高寬比(可以使用高除以寬得出)

3.在代碼中設(shè)置adapter

 pileLayout.setAdapter(adapter);//只需要調(diào)用一次,多次調(diào)用會出錯
 pileLayout.notifyDataSetChanged(); //刷新數(shù)據(jù)調(diào)用此方法
 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

下載地址

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

友情鏈接更多精彩內(nèi)容