Android PhotoSelector高仿微信圖片選擇器

Android圖片選擇器,仿微信的圖片選擇器的樣式和效果??蓹M豎屏切換顯示, 自定義配置,單選,多選,是否顯示拍照,material design風(fēng)格,單選裁剪,拍照裁剪,滑動翻頁預(yù)覽,雙擊放大,縮放

Github地址java版:https://github.com/wj576038874/PhotoSelector

Github地址kotlin版:https://github.com/wj576038874/PhotoSlectorKotlin

效果圖: 點擊下載APK進(jìn)行體驗

gif5新文件.gif
1、引入依賴

在工程的build.gradle添加如下配置

allprojects {
    repositories {
        google()
        jcenter()
        maven { url "https://jitpack.io" }
    }
}
2、在Module的build.gradle在添加以下代碼
implementation 'com.winfo.photoselector:PhotoSelector:1.2.1'
3、說明

PhotoSelector的圖片加載是基于glide4.7.1實現(xiàn)的,可以自定義加載動畫,預(yù)覽照片使用 com.github.chrisbanes:PhotoView:2.1.3 裁剪使用的是com.github.yalantis:ucrop:2.2.2等開源庫,列表加載,翻頁預(yù)覽這里沒有使用viewpager使用的是recycleview

4、使用

在你的項目中的AndroidManifest文件中添加以下配置

<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />

<!--注意這里的android:theme="@style/AppTheme" AppTheme一定要是NoActionbar類型的主題-->
<activity
    android:name="com.yalantis.ucrop.UCropActivity"
    android:screenOrientation="portrait"
    android:theme="@style/AppTheme" />
<activity
    android:name="com.winfo.photoselector.ImageSelectorActivity"
    android:configChanges="orientation|keyboardHidden|screenSize"
    android:theme="@style/AppTheme" />
<activity
    android:name="com.winfo.photoselector.PreviewActivity"
    android:configChanges="orientation|keyboardHidden|screenSize"
    android:theme="@style/AppTheme" />

<activity
    android:name="com.winfo.photoselector.RvPreviewActivity"
    android:configChanges="orientation|keyboardHidden|screenSize"
    android:theme="@style/AppTheme" />
4、調(diào)起圖片選擇器

調(diào)用的是很簡單,只需要一句代碼,其他可選擇性配置

//單選
PhotoSelector.builder()
        .setSingle(true)
        .start(MainActivity.this, SINGLE_CODE);

//多選(最多9張)
PhotoSelector.builder()
        .setShowCamera(true)//顯示拍照
        .setMaxSelectCount(9)//最大選擇9 默認(rèn)9,如果這里設(shè)置為-1則是不限數(shù)量
        .setSelected(images)//已經(jīng)選擇的照片
        .setGridColumnCount(3)//列數(shù)
        .setMaterialDesign(true)//design風(fēng)格
        .setToolBarColor(ContextCompat.getColor(this, R.color.colorPrimary))//toolbar的顏色
        .setBottomBarColor(ContextCompat.getColor(this, R.color.colorPrimary))//底部bottombar的顏色
        .setStatusBarColor(ContextCompat.getColor(this, R.color.colorPrimary))//狀態(tài)欄的顏色
        .start(MainActivity.this, LIMIT_CODE);//當(dāng)前activity 和 requestCode,不傳requestCode則默認(rèn)為PhotoSelector.DEFAULT_REQUEST_CODE

//多選(不限數(shù)量)
PhotoSelector.builder()
        .setMaxSelectCount(-1)//-1不限制數(shù)量
        .setSelected(images)
        .start(MainActivity.this, UN_LIMITT_CODE);     

//單選后剪裁 裁剪的話都是針對一張圖片所以要設(shè)置setSingle(true)
PhotoSelector.builder()
       .setSingle(true)//單選,裁剪都是單選
       .setCrop(true)//是否裁剪
       .setCropMode(PhotoSelector.CROP_RECTANG)//設(shè)置裁剪模式 矩形還是圓形
       .setStatusBarColor(ContextCompat.getColor(this, R.color.colorAccent))
       .setToolBarColor(ContextCompat.getColor(this, R.color.colorAccent))
       .setBottomBarColor(ContextCompat.getColor(this, R.color.colorAccent))
       .setStatusBarColor(ContextCompat.getColor(this, R.color.colorAccent))
       .start(MainActivity.this, CROP_CODE);   
最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

  • afinalAfinal是一個android的ioc,orm框架 https://github.com/yangf...
    wgl0419閱讀 6,568評論 1 9
  • afinalAfinal是一個android的ioc,orm框架 https://github.com/yangf...
    passiontim閱讀 15,837評論 2 45
  • 一早上起來就看到手機提示燈在閃晃,迫不及待打開一看,原是日歷的推送消息“立秋 8月7日”,莫名有了一秒鐘的小失落,...
    初陽夙羽閱讀 363評論 0 0
  • 這件衣服主要是表現(xiàn)格紋面料的上衣 格紋上衣繪制步驟: 1.用中度灰色馬克筆平涂 2.用黑色彩鉛畫小格紋,在交叉點上...
    絮語姑娘愛畫畫閱讀 208評論 3 4
  • 過兩天就是兩年一度的北京國際車展了,喜歡車的小伙伴可以行動起來了。作為今年國內(nèi)級別最高,規(guī)模最大的車展,這次北京車...
    城市汽車閱讀 218評論 0 0

友情鏈接更多精彩內(nèi)容