Giter Site home page Giter Site logo

photopicker's Introduction

PhotoPicker

基于 lovetuzitong/MultiImageSelector 修改的一个照片选择库。

compile 'cc.dagger:photopicker:1.0'

功能:

  • 支持主流图片加载库
  • 照片尺寸、Gif过滤
  • 运行时权限检查

Demo Video

使用介绍

  • Application 配置
PhotoPicker.init(ImageLoader, null);
  • AndroidManifest 配置
<uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE" />
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />

<activity
    android:name="cc.dagger.photopicker.MultiImageSelectorActivity"
    android:screenOrientation="portrait"
    android:theme="@style/NO_ACTIONBAR" />

<activity
    android:name="cc.dagger.photopicker.PhotoPreviewActivity"
    android:screenOrientation="portrait"
    android:theme="@style/NO_ACTIONBAR"/>
  • 选择照片
// 单选
PhotoPicker.load()
        .filter(PhotoFilter) // 照片属性过滤
        .gridColumns(4) // 照片列表显示列数
        .showCamera(false)
        .single()
        .start(Activity/Fragment); // 从Fragment、Activity中启动


// 多选
PhotoPicker.load()
        .filter(PhotoFilter) // 照片属性过滤
        .gridColumns(4) // 照片列表显示列数
        .showCamera(true)
        .multi()
        .maxPickSize(9) // 最大选择数
        .selectedPaths(ArrayList<String>) // 已选择的照片地址
        .start(Activity/Fragment); // 从Fragment、Activity中启动

// 接收选择的照片
@Override
protected void onActivityResult(int requestCode, int resultCode, Intent data) {
    super.onActivityResult(requestCode, resultCode, data);
    if (requestCode == PhotoPicker.REQUEST_SELECTED) {
        if (resultCode == RESULT_OK) {
            ArrayList<String> paths = data.getStringArrayListExtra(PhotoPicker.EXTRA_RESULT);
            // ...
        }
    }
}
  • 预览照片
PhotoPicker.preview()
        .paths(ArrayList<String>)
        .currentItem(0)
        .start(ActivityFragment);

// 预览后返回照片地址
@Override
protected void onActivityResult(int requestCode, int resultCode, Intent data) {
    super.onActivityResult(requestCode, resultCode, data);
    if (requestCode == PhotoPicker.REQUEST_PREVIEW) {
        if (resultCode == RESULT_OK) {
            ArrayList<String> paths = data.getStringArrayListExtra(PhotoPicker.PATHS);
            // ...
        }
    }
}

photopicker's People

Watchers

James Cloos avatar aiden avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.