国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 系統(tǒng) > Android > 正文

Android仿微信朋友圈添加圖片的實例代碼

2019-12-12 02:36:59
字體:
供稿:網(wǎng)友

老習慣,先上圖,著急用的朋友,直接帶走Demo,先拿來用吧,畢竟老板催的緊,先把工作完成了,再看也來得及,是吧!


在項目中這種添加圖片上傳的效果應(yīng)該是非常常見的,后面有個添加的按鈕應(yīng)該讓有些童鞋不知道咋辦了吧,其實沒那么復(fù)雜,通過GridView就可以實現(xiàn)了

先說明一下,這里主要是講添加圖片的效果,至于圖片選擇器用的是第三方庫photopicker,6.0權(quán)限用的是第三方庫EasyPermission

1、首先這是用GridView實現(xiàn)的

<?xml version="1.0" encoding="utf-8"?><LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"  android:layout_width="match_parent"  android:layout_height="match_parent"  android:background="#fff"  android:orientation="vertical">  <!--展示上傳的圖片-->  <GridView    android:id="@+id/gridView"    android:layout_width="match_parent"    android:layout_height="wrap_content"    android:layout_margin="15dp"    android:columnWidth="60dp"    android:horizontalSpacing="10dp"    android:numColumns="auto_fit"    android:verticalSpacing="10dp" /></LinearLayout>

Adapter

package com.dearxy.wxcircleaddpic;import android.content.Context;import android.view.LayoutInflater;import android.view.View;import android.view.ViewGroup;import android.widget.ImageView;import com.bumptech.glide.Glide;import java.util.List;/** * 展示上傳的圖片的GridView的適配器 * 作者: 周旭 on 2017/6/21/0021. */public class GridViewAdapter extends android.widget.BaseAdapter {  private Context mContext;  private List<String> mList;  private LayoutInflater inflater;  public GridViewAdapter(Context mContext, List<String> mList) {    this.mContext = mContext;    this.mList = mList;    inflater = LayoutInflater.from(mContext);  }  @Override  public int getCount() {    //return mList.size() + 1;//因為最后多了一個添加圖片的ImageView     int count = mList == null ? 1 : mList.size() + 1;    if (count > MainConstant.MAX_SELECT_PIC_NUM) {      return mList.size();    } else {      return count;    }  }  @Override  public Object getItem(int position) {    return mList.get(position);  }  @Override  public long getItemId(int position) {    return position;  }  @Override  public View getView(int position, View convertView, ViewGroup parent) {    convertView = inflater.inflate(R.layout.grid_item, parent,false);    ImageView iv = (ImageView) convertView.findViewById(R.id.pic_iv);    if (position < mList.size()) {     //代表+號之前的需要正常顯示圖片      String picUrl = mList.get(position); //圖片路徑      Glide.with(mContext).load(picUrl).into(iv);    } else {      iv.setImageResource(R.mipmap.zj);//最后一個顯示加號圖片     }    return convertView;  }}

MainActivity

這里只貼出了拿到相冊返回的圖片的路徑后的處理

//初始化展示上傳圖片的GridView  private void initGridView() {    mPicList = new ArrayList<>();    mGridViewAdapter = new GridViewAdapter(mContext, mPicList);    gridView.setAdapter(mGridViewAdapter);    gridView.setOnItemClickListener(new AdapterView.OnItemClickListener() {      @Override      public void onItemClick(AdapterView<?> parent, View view,                  int position, long id) {        if (position == parent.getChildCount() - 1) {          //添加憑證圖片          checkPhotoPermission();        } else {          //查看大圖          Intent intent = new Intent(mContext, PlusImageActivity.class);          //圖片的路徑          intent.putExtra(MainConstant.PIC_PATH, mPicList.get(position));          intent.putExtra(MainConstant.POSITION, position);          startActivityForResult(intent, MainConstant.REQUEST_CODE_MAIN);        }      }    });  } // 處理返回照片地址  private void refreshAdapter(final ArrayList<String> paths) {    for (int i = 0; i < paths.size(); i++) {      Log.i(TAG, "path:---->" + paths.get(i));      proofPicCount++;      if (proofPicCount <= MainConstant.MAX_SELECT_PIC_NUM) {        //添加圖片到GridView        mPicList.add(paths.get(i));      }    }    mGridViewAdapter.notifyDataSetChanged();  }

github地址:https://github.com/zhouxu88/WXCircleAddPic

總結(jié):其實原理就是把數(shù)據(jù)的size+1,做為添加按鈕的放置,然后判斷下有9張圖就不顯示添加按鈕,并且size也不+1,就這樣,一個帶添加按鈕的GridView就好了~希望對大家的學習有所幫助,也希望大家多多支持武林網(wǎng)。

發(fā)表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發(fā)表
主站蜘蛛池模板: 赫章县| 手机| 东光县| 长汀县| 徐州市| 德州市| 新竹县| 周口市| 保定市| 门源| 泰顺县| 遂平县| 额敏县| 信丰县| 临颍县| 无棣县| 周宁县| 平和县| 博野县| 呼玛县| 福海县| 杭州市| 陵水| 珠海市| 集安市| 瓮安县| 昔阳县| 木兰县| 印江| 绥芬河市| 临泉县| 浦县| 从江县| 江达县| 永和县| 仁寿县| 天台县| 尼玛县| 喀什市| 阿鲁科尔沁旗| 凤翔县|