最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

Android仿微信圖片上傳帶加號(hào)且超過(guò)最大數(shù)隱藏功能

 更新時(shí)間:2018年03月23日 16:33:25   投稿:mrr  
這篇文章給大家分享android仿照微信空間上傳圖片,顯示圖片數(shù)量以及超過(guò)最大,上傳按鈕隱藏功能,非常不錯(cuò),具有參考借鑒價(jià)值,需要的朋友參考下吧

1、仿照微信空間上傳圖片,顯示圖片數(shù)量以及超過(guò)最大,上傳按鈕隱藏功能

2、上效果圖

3、上代碼,主要是Adapter類

/**
 * Created by zhangyinlei on 2018/3/2 0002.
 */
public class AlbumSelectedShowAdapter extends RecyclerView.Adapter<RecyclerView.ViewHolder> {
  private static int TYPE_ADD = 0;//添加圖片
  private static int TYPE_COMMON = 1;//普通圖片展示
  private Context context;
  private LayoutInflater mLayoutInflater;
  //data
  private int mMaxAlbum;//最大選擇圖片的數(shù)量
  private List<String> mStringList;//圖片url集合
  public AlbumSelectedShowAdapter(Context context, List<String> mStringList, int maxAlbum) {
    this.context = context;
    this.mStringList = mStringList;
    this.mMaxAlbum = maxAlbum;
    this.mLayoutInflater = LayoutInflater.from(context);
  }
  @Override
  public RecyclerView.ViewHolder onCreateViewHolder(ViewGroup parent, int viewType) {
    if (viewType == TYPE_ADD) {
      return new ItemViewHolderAdd(mLayoutInflater.inflate(R.layout.item_album_selected_add, parent, false));
    } else {
      return new ItemViewHolderCommon(mLayoutInflater.inflate(R.layout.item_album_selected_common, parent, false));
    }
  }
  @Override
  public void onBindViewHolder(RecyclerView.ViewHolder holder, int position) {
    View itemView = null;
    if (holder instanceof ItemViewHolderAdd) {
      ItemViewHolderAdd itemViewHolderAdd = (ItemViewHolderAdd) holder;
      if (position >= mMaxAlbum) {
        itemViewHolderAdd.itemView.setVisibility(View.GONE);
      } else {
        itemViewHolderAdd.tvNum.setText(position + "/" + mMaxAlbum);
        itemViewHolderAdd.itemView.setVisibility(View.VISIBLE);
        itemView = ((ItemViewHolderAdd) holder).itemView;
      }
    } else if (holder instanceof ItemViewHolderCommon) {
      String url = mStringList.get(position);
      Glide.with(context).load(url).apply(RequestOptions.centerCropTransform()).transition(withCrossFade()).into(((ItemViewHolderCommon) holder).ivCommon);
      itemView = ((ItemViewHolderCommon) holder).itemView;
    }
    if (mOnItemClickListener != null && null != itemView) {
      itemView.setOnClickListener(new View.OnClickListener() {
        @Override
        public void onClick(View v) {
          int position = holder.getLayoutPosition();
          mOnItemClickListener.onItemClick(holder.itemView, position);
        }
      });
    }
  }
  @Override
  public int getItemViewType(int position) {
    return position == mStringList.size() ? TYPE_ADD : TYPE_COMMON;
  }
  @Override
  public int getItemCount() {
    return mStringList.size() + 1;//加一代表最后一個(gè)添加圖片按鈕
  }
  public static class ItemViewHolderAdd extends RecyclerView.ViewHolder {
    private TextView tvNum;
    public ItemViewHolderAdd(View itemView) {
      super(itemView);
      tvNum = itemView.findViewById(R.id.tv_album_selected_num);
    }
  }
  public static class ItemViewHolderCommon extends RecyclerView.ViewHolder {
    private ImageView ivCommon;
    public ItemViewHolderCommon(View itemView) {
      super(itemView);
      ivCommon = itemView.findViewById(R.id.iv_album_selected);
    }
  }
  private OnItemClickListener mOnItemClickListener;
  public void setOnItemClickListener(OnItemClickListener onItemClickListener) {
    mOnItemClickListener = onItemClickListener;
  }
  public interface OnItemClickListener {
    void onItemClick(View view, int position);
  }
}

在Activity中使用,recycleView

mStringList = new ArrayList<>();
    mAlbumSelectedShowAdapter = new AlbumSelectedShowAdapter(this, mStringList, mMaxAlbum);
    mRvAlbumSelected.setLayoutManager(new GridLayoutManager(this, 4));
    mRvAlbumSelected.setHasFixedSize(true);
    mRvAlbumSelected.setAdapter(mAlbumSelectedShowAdapter);
    mAlbumSelectedShowAdapter.setOnItemClickListener(new AlbumSelectedShowAdapter.OnItemClickListener() {
      @Override
      public void onItemClick(View view, int position) {
        if (mStringList.size() == position) {
        //選擇相冊(cè)功能
          AlbumUtils.choosePicture(SuggestionActivity.this, false, mMaxAlbum - mStringList.size(), true);
        } else {
          //圖片展示界面
        }
      }
    });
  }

總結(jié)

以上所述是小編給大家介紹的Android仿微信圖片上傳帶加號(hào)且超過(guò)最大數(shù)隱藏功能,希望對(duì)大家有所幫助,如果大家有任何疑問(wèn)請(qǐng)給我留言,小編會(huì)及時(shí)回復(fù)大家的。在此也非常感謝大家對(duì)腳本之家網(wǎng)站的支持!

相關(guān)文章

  • Android App中讀取XML與JSON格式數(shù)據(jù)的基本方法示例

    Android App中讀取XML與JSON格式數(shù)據(jù)的基本方法示例

    這篇文章主要介紹了Android App中讀取XML與JSON格式數(shù)據(jù)的基本方法示例,Android中自帶的JSONObject非常好用,需要的朋友可以參考下
    2016-03-03
  • Android編程中避免內(nèi)存泄露的方法總結(jié)

    Android編程中避免內(nèi)存泄露的方法總結(jié)

    這篇文章主要介紹了Android編程中避免內(nèi)存泄露的方法總結(jié),本文講解了最可能造成內(nèi)存泄露的幾個(gè)點(diǎn),并總結(jié)出如何應(yīng)對(duì)這些內(nèi)存泄露,需要的朋友可以參考下
    2014-08-08
  • Android Kotlin Flow 冷熱流詳解

    Android Kotlin Flow 冷熱流詳解

    在Android開(kāi)發(fā)中,Flow是Kotlin協(xié)程庫(kù)的重要組成部分,用于處理異步數(shù)據(jù)流,它能夠異步生產(chǎn)多個(gè)值,類似于RxJava中的Observable,本文介紹Android Kotlin Flow 冷熱流,感興趣的朋友一起看看吧
    2024-11-11
  • Android Studio 下載視頻到本地

    Android Studio 下載視頻到本地

    這篇文章主要介紹了Android Studio 下載視頻到本地,利用GreenDao實(shí)現(xiàn)多線程斷點(diǎn)續(xù)傳,這樣的話,下次用戶再次下載時(shí),將繼續(xù)上次數(shù)據(jù)庫(kù)的接著下載,這樣用戶體驗(yàn)就會(huì)很好,也大大節(jié)省了成本.具體實(shí)現(xiàn)代碼大家參考下本文
    2018-03-03
  • Java ArrayList源碼深入分析

    Java ArrayList源碼深入分析

    ArrayList 類是一個(gè)可以動(dòng)態(tài)修改的數(shù)組,與普通數(shù)組的區(qū)別就是它是沒(méi)有固定大小的限制,我們可以添加或刪除元素。ArrayList 繼承了 AbstractList,并實(shí)現(xiàn)了List接口
    2022-08-08
  • Android應(yīng)用中通過(guò)Layout_weight屬性用ListView實(shí)現(xiàn)表格

    Android應(yīng)用中通過(guò)Layout_weight屬性用ListView實(shí)現(xiàn)表格

    這篇文章主要介紹了Android應(yīng)用中通過(guò)Layout_weight屬性用ListView實(shí)現(xiàn)表格的方法,文中對(duì)Layout_weight屬性先有一個(gè)較為詳細(xì)的解釋,需要的朋友可以參考下
    2016-04-04
  • Android CameraManager類詳解

    Android CameraManager類詳解

    這篇文章主要為大家詳細(xì)介紹了Android CameraManager類,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2017-10-10
  • android studio 打包自動(dòng)生成版本號(hào)與日期,apk輸入路徑詳解

    android studio 打包自動(dòng)生成版本號(hào)與日期,apk輸入路徑詳解

    這篇文章主要介紹了android studio 打包自動(dòng)生成版本號(hào)與日期,apk輸入路徑詳解,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧
    2020-03-03
  • Android開(kāi)發(fā)仿映客送禮物效果

    Android開(kāi)發(fā)仿映客送禮物效果

    這篇文章主要介紹了Android開(kāi)發(fā)仿映客送禮物效果的實(shí)現(xiàn)代碼,本文介紹的非常詳細(xì),具有參考借鑒價(jià)值,感興趣的朋友一起學(xué)習(xí)吧
    2016-09-09
  • Android AutoCompleteTextView控件使用實(shí)例

    Android AutoCompleteTextView控件使用實(shí)例

    AutoCompleteTextView這個(gè)控件用于輸入框的自動(dòng)完成提示,非常適合搜索框等。它本質(zhì)上是個(gè)EditText,實(shí)際上它也是從EditText繼承的,使用起來(lái)也十分簡(jiǎn)單
    2014-04-04

最新評(píng)論

西盟| 茌平县| 白银市| 福州市| 元朗区| 云梦县| 达拉特旗| 新和县| 文安县| 梧州市| 永德县| 桃园市| 临潭县| 长治县| 松阳县| 新泰市| 迁安市| 云龙县| 灵川县| 蓬安县| 法库县| 招远市| 育儿| 杭州市| 通州市| 岐山县| 凤台县| 城固县| 拜城县| 桂林市| 蒙山县| 仁怀市| 临洮县| 新蔡县| 东方市| 蒙阴县| 景东| 吴桥县| 囊谦县| 马关县| 大荔县|