TedPicker
介绍:
一个图片选择控件。
运行效果:
使用说明:
Gradle
我们使用cwac-camera来完成拍照,这个库是从 jitpack.io中获得的。
repositories {
maven { url "https://repo.commonsware.com.s3.amazonaws.com" }
maven { url "https://jitpack.io" }
}
dependencies {
compile 'com.github.ParkSangGwon:TedPicker:v1.0.10'
}
权限
添加Camera和外部存储权限。
<uses-feature android:name="android.hardware.camera" />
<uses-feature android:name="android.hardware.camera.autofocus" android:required="false" />
<uses-permission android:name="android.permission.CAMERA" />
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />
Activity
在AndroidManifest.xml里声明Activity
<activity android:name="com.gun0912.tedpicker.ImagePickerActivity"
android:screenOrientation="portrait"
/>
必须这样使用 AppCompat theme l。ImagePickerActivity使用没有actionbar的toolbar。
<style name="AppTheme" parent="Theme.AppCompat.Light.DarkActionBar">
<!-- Customize your theme here. -->
<item name="colorPrimary">@color/colorPrimary</item>
<item name="colorPrimaryDark">@color/colorPrimaryDark</item>
<item name="colorAccent">@color/colorAccent</item>
<item name="windowActionBar">false</item>
<item name="windowNoTitle">true</item>
How to use
1. Start Activity
private static final int INTENT_REQUEST_GET_IMAGES = 13;
private void getImages() {
Intent intent = new Intent(this, ImagePickerActivity.class);
startActivityForResult(intent,INTENT_REQUEST_GET_IMAGES);
}
2. Receive Activity
如果你完成了图片的选择,你将收到图片路径(Uri类型)的数组 。
@Override
protected void onActivityResult(int requestCode, int resuleCode, Intent intent) {
super.onActivityResult(requestCode, resuleCode, intent);
if (requestCode == INTENT_REQUEST_GET_IMAGES && resuleCode == Activity.RESULT_OK ) {
ArrayList<Uri> image_uris = intent.getParcelableArrayListExtra(ImagePickerActivity.EXTRA_IMAGE_URIS);
//do something
}
}
自定义
You can change color, drawable, height ...你可以改变颜色,drawable,高度。。。
在调用startActivityForResult()之前,把Config instance设置到ImagePickerActivity
例子
Config config = new Config();
config.setCameraHeight(R.dimen.app_camera_height);
config.setToolbarTitleRes(R.string.custom_title);
config.setSelectionMin(2);
config.setSelectionLimit(4);
config.setSelectedBottomHeight(R.dimen.bottom_height);
ImagePickerActivity.setConfig(config);
Intent intent = new Intent(this, ImagePickerActivity.class);
startActivityForResult(intent, INTENT_REQUEST_GET_IMAGES);
函数
-
setCameraHeight(R.dimen.xxx) (default: 250dp)
-
setSelectedBottomHeight(R.dimen.xxx) (default: 90dp)
-
setSelectedBottomColor(R.color.xxx) (default: R.attr.colorAccent)
-
setToolbarTitleRes(R.string.xxx) (default: Choice Image / 사진선택)
-
setTabBackgroundColor(R.color.xxx) (default: #fff)
-
setTabSelectionIndicatorColor(R.color.xxx) (default: R.attr.colorPrimary)
-
setSelectionLimit(int)
-
setSelectionMin(int)
-
setCameraBtnImage(R.drawable.xxx)
-
setCameraBtnBackground(R.drawable.xxx)
-
setSelectedCloseImage(R.drawable.xxx)
-
setSavedDirectoryName(R.string.xxx) (default: Pictures)
-
setFlashOn(boolean) (default: false)
感谢
-
该项目基于 Poly-Picker 。
-
Cwac-Camera -拍照
-
Glide -