做电商的都知道,作为商品的一种售卖方式,拼团是是提供商品售卖的一种及时有效的方式,而在拼团市场中,拼多多无疑是做的最好的一家。于是,研究拼多多的售卖方式之后,我们的产品也开始了这方面的开发。本文将要给大家介绍的就是通过自定义的方式实现堆叠头像,这种效果在直播app中非常常见。下面是部分效果:
);
urls.add("http://ohe65w0xx.bkt.clouddn.com/u=3637404049,2821183587&fm=214&gp=0.jpg");
urls.add("http://ohe65w0xx.bkt.clouddn.com/avert.png");
//设置数据源
itemAvertView.setAvertImages(urls);
要完成上面的封装,主要会涉及如下的代码:
PileAvertView.java
public class PileAvertView extends LinearLayout {
@BindView(R.id.pile_view)
PileView pileView;
private Context cOntext= null;
public static final int VISIBLE_COUNT = 3;//默认显示个数
public PileAvertView(Context context) {
this(context, null);
this.cOntext= context;
}
public PileAvertView(Context context, AttributeSet attrs) {
super(context, attrs);
this.cOntext= context;
initView();
}
private void initView() {
View view = LayoutInflater.from(context).inflate(R.layout.layout_group_pile_avert, this);
ButterKnife.bind(view);
}
public void setAvertImages(List imageList) {
setAvertImages(imageList,VISIBLE_COUNT);
}
//如果imageList>visiableCount,显示List最上面的几个
public void setAvertImages(List imageList, int visibleCount) {
List visibleList = null;
if (imageList.size() > visibleCount) {
visibleList = imageList.subList(imageList.size() - 1 - visibleCount, imageList.size() - 1);
}
pileView.removeAllViews();
for (int i = 0; i CircleImageView image= (CircleImageView) LayoutInflater.from(context).inflate(R.layout.item_group_round_avert, pileView, false);
CommonImageUtil.loadImage(imageList.get(i), image);
pileView.addView(image);
}
}
}
相关的布局:
layout_group_pile_avert.xml
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:gravity="center_horizontal">
<com.lanshan.shihuicommunity.grouppurchase.view.PileView
android:id="@+id/pile_view"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
app:PileLayout_pileWidth="10dp"/>
LinearLayout>
item_group_round_avert.xml
<com.makeramen.rounded.CircleImageView xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
android:id="@+id/circle_iamge"
android:layout_width="30dp"
android:layout_height="30dp"
android:orientation="vertical"
app:round_borderColor="#ffffff"
app:round_borderWidth="1dp" />