[英]How to create plus icon in grid recyclerview for adding images?
您可以創建兩種布局:一種帶有 + 圖標,另一種是為您的網格適配器顯示圖像。 然后您可以檢查位置並返回您想要的布局。
private static final int VIEW_TYPE_ONE = 1;
private static final int VIEW_TYPE_TWO = 2;
// Determines the appropriate ViewType according to the position
@Override
public int getItemViewType(int position) {
if (position == 0 ) {
return VIEW_TYPE_ONE;
} else {
return VIEW_TYPE_TWO;
}
}
然后在您的 onCreateviewHolder 中:
// Inflates the appropriate layout according to the ViewType.
@Override
public RecyclerView.ViewHolder onCreateViewHolder(ViewGroup parent, int viewType) {
View view;
if (viewType == VIEW_TYPE_ONE) {
view = LayoutInflater.from(parent.getContext())
.inflate(R.layout.your_plus_icon_layout, parent, false);
return new PlusIconViewHolder(view);
} else if (viewType == VIEW_TYPE_MESSAGE_TWO) {
view = LayoutInflater.from(parent.getContext())
.inflate(R.layout.your_normal_image_layout, parent, false);
return new NormalViewHolder(view);
}
return null;
}
在您的 onBindViewHolder 中,
@Override
public void onBindViewHolder(RecyclerView.ViewHolder holder, int position) {
switch (holder.getItemViewType()) {
case VIEW_TYPE_ONE:
holder.bind();
break;
case VIEW_TYPE_MESSAGE_TWO:
holder.bind(imageList.get(position -1));
}
}
請注意,我已發送位置 - 列表中的 1 個項目。這是因為圖像將從 1 個索引顯示,因為索引 0 被您的 + 圖標占用。 是的,您也必須為各自的功能創建兩個 veiwholder。
您需要創建一個支持兩種類型項目的適配器 - 照片一種和“+”一種。 然后在您提供給適配器的列表中的第一個位置添加特殊的“+”項。
檢查此鏈接:Vitaly Vivchar 的“具有多種項目類型的 RecyclerView ”。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.