关于第三方图片选择器(MultiImageSelector)

首先下载MultiImageSelector,GitHub和CSDN上面都有。

新建一个app,给自己的app添加一个model。

File-->new-->Import Model,找到MultiI-mage-Selector这个文件夹导入。

等它构建完成。如果于大盘picasso一直构建不完,终止进程重启。我就是这样的。或者另外构建picasso的依赖。因为网和防火墙的问题,很无奈。

接着要在Manifest文件中添加读写SDCard的权限,还要添加一个activity:

[html]  view plain  copy
  1. <activity  
  2.     android:configChanges="orientation|screenSize"  
  3.     android:name="me.nereo.multi_image_selector.MultiImageSelectorActivity" />  

原样复制就好了。

布局省略。

最后看代码:

[java]  view plain  copy
  1. public class MainActivity extends AppCompatActivity {  
  2.     //启动MultiImageSelectorActivity的请求码  
  3.     private static final int REQUEST_IMAGE = 2;  
  4.     @Bind(R.id.imageView)  
  5.     ImageView imageView;  
  6.     @Bind(R.id.btn_1)  
  7.     Button btn1;  
  8.     @Bind(R.id.btn_2)  
  9.     Button btn2;  
  10.     @Bind(R.id.btn_3)  
  11.     Button btn3;  
  12.   
  13.     @Override  
  14.     protected void onCreate(Bundle savedInstanceState) {  
  15.         super.onCreate(savedInstanceState);  
  16.         setContentView(R.layout.activity_main);  
  17.         ButterKnife.bind(this);  
  18.     }  
  19.   
  20.     @OnClick({R.id.btn_1, R.id.btn_2, R.id.btn_3})  
  21.     public void onClick(View view) {  
  22.         switch (view.getId()) {  
  23.             case R.id.btn_1://新版单选  
  24.                 MultiImageSelector.create(this).single().showCamera(true).start(this, REQUEST_IMAGE);//见名知义  
  25.                 break;  
  26.             case R.id.btn_2://新版多选  
  27.                 MultiImageSelector.create(this).multi().showCamera(true).start(this, REQUEST_IMAGE);  
  28.                 break;  
  29.             case R.id.btn_3://老版多选  
  30.                 selectSingleImage();  
  31.                 break;  
  32.             default:  
  33.                 break;  
  34.         }  
  35.     }  
  36.   
  37.     /** 
  38.      * 老版本的使用方法 
  39.      */  
  40.     private void selectSingleImage() {  
  41.         Intent intent = new Intent();  
  42.         intent.setClass(this, MultiImageSelectorActivity.class);  
  43.         intent.putExtra(MultiImageSelectorActivity.EXTRA_SHOW_CAMERA, true);//显示可拍照  
  44.         intent.putExtra(MultiImageSelectorActivity.EXTRA_SELECT_COUNT, 9);//最多可选9张  
  45.         intent.putExtra(MultiImageSelectorActivity.EXTRA_SELECT_MODE, MultiImageSelectorActivity.MODE_SINGLE);//单选模式  
  46.         //intent.putExtra(MultiImageSelectorActivity.EXTRA_SELECT_MODE,MultiImageSelectorActivity.MODE_MULTI);//多选模式  
  47.         startActivityForResult(intent, REQUEST_IMAGE);//启动MultiImageSelectorActivity  
  48.     }  
  49.   
  50.     /** 
  51.      * 获得选取结果,新老版本都必须 
  52.      * @param requestCode 
  53.      * @param resultCode 
  54.      * @param data 
  55.      */  
  56.     @Override  
  57.     protected void onActivityResult(int requestCode, int resultCode, Intent data) {  
  58.         super.onActivityResult(requestCode, resultCode, data);  
  59.         if (requestCode == REQUEST_IMAGE) {  
  60.             if (resultCode == RESULT_OK) {  
  61.                 List<String> list = data.getStringArrayListExtra(MultiImageSelectorActivity.EXTRA_RESULT);  
  62.                 if (list != null) {  
  63.                     imageView.setImageBitmap(BitmapFactory.decodeFile(list.get(0)));  
  64.                 }  
  65.             }  
  66.         }  
  67.     }  
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值