Skip to content

Commit 2f7772c

Browse files
author
李晨玮
committed
更新ReadMe文件
1 parent 1995d19 commit 2f7772c

2 files changed

Lines changed: 62 additions & 14 deletions

File tree

README.md

Lines changed: 57 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -8,27 +8,41 @@
88
![](https://github.com/Lichenwei-Dev/ImagePicker/blob/master/screenshot/Screenshot3.png)
99

1010

11+
### 使用方式:
12+
1、在项目下的build.gradle文件中引入(注意gradle的版本):
13+
```
14+
//gradle版本在3.0以下引入此行
15+
compile 'com.lcw.library:imagepicker:1.0.1'
1116
12-
### 使用方法:
17+
//gradle版本在3.0以上引入此行
18+
implementation 'com.lcw.library:imagepicker:1.0.1'
19+
```
1320

14-
### 在项目下的build.gradle文件中引入(注意gradle的版本)
21+
2、然后需要在AndroidManifest.xml里声明组件
1522
```
16-
compile 'com.lcw.library:imagepicker:1.0.1'//gradle版本在3.0以下引入
23+
<application>
24+
....
25+
<!--图片选择器的主Activity-->
26+
<activity
27+
android:name="com.lcw.library.imagepicker.activity.ImagePickerActivity"
28+
android:screenOrientation="portrait" />
29+
...
30+
</application>
1731
18-
implementation 'com.lcw.library:imagepicker:1.0.1'//gradle版本在3.0以上引入
1932
```
2033

21-
### 调用方式非常简单,只需要简单一行代码:
34+
35+
3、调用方式非常简单,只需要简单一行代码:
2236
```
23-
ImagePicker.getInstance()
37+
ImagePicker.getInstance()
2438
.setTitle("标题")//设置标题
2539
.showCamera(true)//设置是否显示拍照按钮
2640
.setMaxCount(9)//设置最大选择图片数目(默认为1,单选)
2741
.setImageLoader(new GlideLoader())//设置自定义图片加载器
2842
.start(mContext, REQUEST_SELECT_IMAGES_CODE);//REQEST_SELECT_IMAGES_CODE为Intent调用的requestCode
29-
3043
```
31-
### 获取选择图片返回的数据:
44+
45+
4、获取选择图片返回的数据:
3246
```
3347
@Override
3448
protected void onActivityResult(int requestCode, int resultCode, Intent data) {
@@ -38,7 +52,7 @@ implementation 'com.lcw.library:imagepicker:1.0.1'//gradle版本在3.0以上引
3852
}
3953
```
4054

41-
### 关于自定义图片加载器,不具体指定图片加载框架,让开发者更加灵活的定制,只需要去实现ImageLoader接口即可:
55+
5、关于自定义图片加载器,不具体指定图片加载框架,让开发者更加灵活的定制,只需要去实现ImageLoader接口即可:
4256
```
4357
public class GlideLoader implements ImageLoader {
4458
@@ -55,25 +69,55 @@ public class GlideLoader implements ImageLoader {
5569
}
5670
```
5771

58-
### 最后别忘了权限,6.0以后需要动态申请,由于国内各大厂商机型存在差异化,需要处理一些兼容上的问题,也有比较成熟的开源库,为了简洁,本Library不提供此功能,需要开发者自行处理
72+
6、关于权限,6.0以后危险权限需要动态申请,不了解的同学可以看下我之前写过的一篇文章[《适配Android6.0动态权限管理》](https://www.jianshu.com/p/a37f4827079a),由于国内各大厂商的ROM存在差异化,需要经常处理一些兼容上的问题,也有比较成熟的开源库,为了简洁,本Library就不提供此功能,请开发者自行处理,所需权限:
5973
```
6074
<uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE" />
6175
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />
6276
<uses-permission android:name="android.permission.CAMERA" />
6377
```
6478

65-
### 其他
66-
根据业务的需求,有时候我们在选择一部分图片后,再次跳转图片选择器的时候,需要去保存已经勾选的图片,这边也提供了对应的方法,只需要把onActivityResult返回的图片路径List集合,重新设置进来即可,代码如下:
79+
7、最后需要注意的是在Android7.0后私有目录被限制访问,这里做了兼容处理,在开启拍照按钮的时候需要注意:
80+
81+
(1)首先需要在AndroidManifest.xml里声明组件:
82+
```
83+
<application>
84+
....
85+
<!-- Android 7.0 文件共享配置 -->
86+
<provider
87+
android:name="android.support.v4.content.FileProvider"
88+
android:authorities="com.lcw.library.imagepicker.provider"
89+
android:exported="false"
90+
android:grantUriPermissions="true">
91+
<meta-data
92+
android:name="android.support.FILE_PROVIDER_PATHS"
93+
android:resource="@xml/image_picker" />
94+
</provider>
95+
....
96+
</application>
97+
```
98+
(2)然后在res文件夹下建立一个xml文件夹,放置xml文件(image_picker.xml)即可,xml内容如下:
99+
```
100+
<?xml version="1.0" encoding="utf-8"?>
101+
<paths>
102+
<external-path
103+
name="imagePicker"
104+
path="" />
105+
</paths>
106+
```
107+
108+
8、其他:
109+
根据业务的需求,有时候我们在选择一部分图片后,再次跳转图片选择器的时候,想要去保存已经勾选的图片状态,这边也提供了对应的方法,只需要把onActivityResult返回的图片路径List集合,重新设置进来即可,代码如下:
67110
```
68111
ImagePicker.getInstance()
69112
.setTitle("标题")
70113
.showCamera(true)
71114
.setMaxCount(9)
72-
.setImagePaths(mImagePaths)
115+
.setImagePaths(mImagePaths)//设置list
73116
.setImageLoader(new GlideLoader())
74117
.start(MainActivity.this, REQUEST_SELECT_IMAGES_CODE);
75118
```
76119

120+
77121
版本会持续迭代,未完待续。。。(欢迎Star,欢迎Fork)
78122

79123

app/src/main/AndroidManifest.xml

Lines changed: 5 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -21,9 +21,13 @@
2121
</intent-filter>
2222
</activity>
2323

24-
<activity android:name="com.lcw.library.imagepicker.activity.ImagePickerActivity" />
24+
<!--图片选择器的主Activity-->
25+
<activity
26+
android:name="com.lcw.library.imagepicker.activity.ImagePickerActivity"
27+
android:screenOrientation="portrait" />
2528

2629

30+
<!-- Android 7.0 文件共享配置,必须配置 -->
2731
<provider
2832
android:name="android.support.v4.content.FileProvider"
2933
android:authorities="com.lcw.library.imagepicker.provider"

0 commit comments

Comments
 (0)