1. 程式人生 > >SimplePhotoPicker:呼叫系統相機、相簿的輕量框架

SimplePhotoPicker:呼叫系統相機、相簿的輕量框架

SimplePhotoPicker

一個進入相簿,呼叫相機的可高度定製化的框架,持續維護中…

效果圖

那些你所擔心但是已經幫你解決的問題

1.Android6.0**隱私許可權**請求問題—>已判斷並處理
2.Android7.0 FileProvider訪問問題—>已判斷並處理

目前實現的功能

1.進入相簿呼叫相機
2.設定可選圖片數量
3.第二次進入時記錄上次選中圖片
4.設定選中icon、未選中icon、相機icon、介面的titleView
5.以回撥監聽選中結果,使用方便
6.動態設定了Imageview的寬高,幾乎可以適配所有螢幕
7.類似於微信點選圖片檢視詳情的切換效果

使用方法

匯入依賴

gradle

    allprojects {
            repositories {
                ...
                maven { url 'https://jitpack.io' }
            }
        }

    dependencies {
                implementation 'com.github.269138004:SimplePhotoPicker:v1.1'

        }

maven

    <repositories>
        <repository>
            <id>jitpack.io</id>
            <url>https://jitpack.io</url>
        </repository>
    </repositories>

    <dependency>
            <groupId>com.github.269138004</groupId>
            <artifactId>SimplePhotoPicker</artifactId>
            <version>v1.1</version>
    </dependency>

使用

new AlbumHelper()
    .with(MainActivity.this)
    .setPickPhotoNums(5)//可選圖片數量,預設1
    .setResultPhotoList((ArrayList<String>) list_one)//接收圖片結果的list集合,必須要寫,不然無法記錄原來已選的
    .setSelectImg(R.mipmap.ic_launcher)//設定圖片選中表示,可不寫,有預設
    .setUnSelectImg(R.mipmap.ic_launcher)//設定圖片未選中表示,可不寫,有預設
    .setCameraImg(R.mipmap.ic_launcher)//設定相機圖片icon,可不寫,有預設
    .setTitleView(R.layout.title_view)//設定介面的titleView
    .setOnReceiveResultListener(new SelectPhotoResult() {//選擇完圖片後的回撥,在這裡做ui重新整理操作
        @Override
        public void onReceivePhotoResult(ArrayList<String> resultList) {
            list_one.clear();
            ((ArrayList<String>) list_one).addAll(resultList);
            adapter_one.notifyDataSetChanged();
        }
    }).start();//開始
關於設定介面的titleview
titleview的佈局可以自己隨意設定,但是有三個主要功能鍵需要加上固定的id
    1、介面的返回功能-->設定固定id:album_title_back
    2、介面的title-->設定固定id:album_title_name
    3、介面的提交功能-->設定固定id:album_title_finish
    這三部分不需要必須是三個具體的控制元件,只要是view的子類即可,比如返回鍵是一張圖片加文字,只要
    給包裹圖片和文字的控制元件設定上相應的id即可
    不要自己隨意設定id,一定要使用這三個固定id