Android 图片选择器
来源:互联网 发布:刀剑乱舞囚禁play乐乎 编辑:程序博客网 时间:2024/06/12 00:00
本人是Android菜鸟,所有博文都是自己的笔记,供自己工作中使用,以及大众参考,文中多少有借鉴引用的地方,如有不正,欢迎大家指出!
本文Android图片选择器是引用yancy的ImageSelector图片选择器开源框架:点击打开链接
下面贴出正文:
首先在gradle里边申明:
compile 'com.yancy.imageselector:imageselector:1.3.3'
MainActivity代码部分
import android.content.Intent;import android.os.Bundle;import android.support.v7.app.AppCompatActivity;import android.support.v7.widget.GridLayoutManager;import android.support.v7.widget.RecyclerView;import android.util.Log;import android.view.View;import android.widget.Button;import com.yancy.imageselector.ImageConfig;import com.yancy.imageselector.ImageSelector;import com.yancy.imageselector.ImageSelectorActivity;import java.util.ArrayList;import java.util.List;/** * Created by hp on 2017/5/14. */public class MainActivity extends AppCompatActivity { private Adapter adapter; private ArrayList<String> path = new ArrayList<>(); @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); Button but = (Button) super.findViewById(R.id.but); RecyclerView recycler = (RecyclerView) super.findViewById(R.id.recycler); but.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { ImageConfig imageConfig = new ImageConfig.Builder( // GlideLoader 可用自己用的缓存库 new GlideLoader()) // 如果在 4.4 以上,则修改状态栏颜色 (默认黑色) .steepToolBarColor(getResources().getColor(R.color.blue)) // 标题的背景颜色 (默认黑色) .titleBgColor(getResources().getColor(R.color.blue)) // 提交按钮字体的颜色 (默认白色) .titleSubmitTextColor(getResources().getColor(R.color.white)) // 标题颜色 (默认白色) .titleTextColor(getResources().getColor(R.color.white)) // 开启多选 (默认为多选) (单选 为 singleSelect)// .singleSelect()// .crop() // 多选时的最大数量 (默认12张) .mutiSelectMaxSize(12) // 已选择的图片路径 .pathList(path) // 拍照后存放的图片路径(默认 /temp/picture) .filePath("/temp/picture") // 开启拍照功能 (默认开启) .showCamera() .requestCode(REQUEST_CODE) .build(); ImageSelector.open(MainActivity.this, imageConfig); // 开启图片选择器 } }); GridLayoutManager gridLayoutManager = new GridLayoutManager(this, 3); recycler.setLayoutManager(gridLayoutManager); adapter = new Adapter(this, path); recycler.setAdapter(adapter); } public static final int REQUEST_CODE = 1000; @Override protected void onActivityResult(int requestCode, int resultCode, Intent data) { super.onActivityResult(requestCode, resultCode, data); if (requestCode == REQUEST_CODE && resultCode == RESULT_OK && data != null) { List<String> pathList = data.getStringArrayListExtra(ImageSelectorActivity.EXTRA_RESULT); for (String path : pathList) { Log.i("ImagePathList", path); } path.clear(); path.addAll(pathList); adapter.notifyDataSetChanged(); } }}GlideLoader代码部分
import android.content.Context;import android.widget.ImageView;import com.bumptech.glide.Glide;/** * Created by hp on 2017/5/14. */public class GlideLoader implements com.yancy.imageselector.ImageLoader { @Override public void displayImage(Context context, String path, ImageView imageView) { Glide.with(context) .load(path) .placeholder(com.yancy.imageselector.R.mipmap.imageselector_photo) .centerCrop() .into(imageView); }}Adapter代码部分import android.content.Context;import android.support.v7.widget.RecyclerView;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;/** * Created by hp on 2017/5/14. */public class Adapter extends RecyclerView.Adapter<Adapter.ViewHolder> { private Context context; private LayoutInflater mLayoutInflater; private List<String> result; private final static String TAG = "Adapter"; public Adapter(Context context, List<String> result) { mLayoutInflater = LayoutInflater.from(context); this.context = context; this.result = result; } @Override public ViewHolder onCreateViewHolder(ViewGroup parent, int viewType) { return new ViewHolder(mLayoutInflater.inflate(R.layout.image, null)); } @Override public void onBindViewHolder(ViewHolder holder, int position) { Glide.with(context) .load(result.get(position)) .centerCrop() .into(holder.image); } @Override public int getItemCount() { return result.size(); } public class ViewHolder extends RecyclerView.ViewHolder { ImageView image; public ViewHolder(View itemView) { super(itemView); image = (ImageView) itemView.findViewById(R.id.image); } }}这样就可以进行图库图片的多选了
阅读全文
0 0
- Android图片选择器
- Android 图片选择器
- android图片选择器
- Android图片选择器
- Android 图片选择器
- Android-仿微信图片选择器
- Android 仿微信图片选择器
- android 图片选择器 photopicker
- Android 高仿微信图片选择器
- Android 图片选择器
- Android 图片选择器
- Android图片选择器
- android 图片选择器
- Android之图片选择器
- Android图片文件选择器
- Android 图片选择器
- Android仿微信图片选择器
- Android自定义图片选择器
- 前台如何将json格式的字符串传入后台
- 4079 马拦过河卒_深搜
- IIC设备驱动程序(十四)————转载文章
- Ajax分页查询
- java1.8的几大新特性(一)
- Android 图片选择器
- Wasserstein distance&测度
- Java安装和运行第一个程序
- Linux Platform devices 平台设备驱动
- jdbc
- 汉诺塔问题
- 467. Unique Substrings in Wraparound String
- 2017年最新前端工程师面试题整理
- DBGridEh数据不能左对齐问题