最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

Android仿微信圖片選擇器ImageSelector使用詳解

 更新時間:2017年12月28日 09:03:44   作者:DonKingLiang  
這篇文章主要為大家詳細(xì)介紹了Android仿微信圖片選擇器ImageSelector的使用方法,具有一定的參考價值,感興趣的小伙伴們可以參考一下

今天給大家介紹一個仿微信的圖片選擇器:ImageSelector。ImageSelector支持圖片的單選、限數(shù)量的多選和不限數(shù)量的多選。支持圖片預(yù)覽和圖片文件夾的切換。在上一篇文章 《Android 實(shí)現(xiàn)一個仿微信的圖片選擇器》 中我介紹了ImageSelector的實(shí)現(xiàn)思路和分析了它的核心代碼,有興趣的同學(xué)可以看一下。完整的代碼放在了GitHub,歡迎大家下載和使用。本篇文章為大家介紹ImageSelector的具體使用方式。

先上效果圖:

1、引入依賴

在Project的build.gradle在添加以下代碼

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

在Module的build.gradle在添加以下代碼

compile 'com.github.donkingliang:ImageSelector:1.2.0'

2、配置AndroidManifest.xml

//儲存卡的讀取權(quán)限
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />

//圖片選擇Activity
<activity android:name="com.donkingliang.imageselector.ImageSelectorActivity"
 //去掉Activity的ActionBar。
 //使用者可以根據(jù)自己的項(xiàng)目去配置,不一定要這樣寫,只要不Activity的ActionBar去掉就可以了。
 android:theme="@style/Theme.AppCompat.Light.NoActionBar"
 //橫豎屏切換處理。
 //如果要支持橫豎屏切換,一定要加上這句,否則在切換橫豎屏的時候會發(fā)生異常。
 android:configChanges="orientation|keyboardHidden|screenSize"/>

//圖片預(yù)覽Activity
<activity android:name="com.donkingliang.imageselector.PreviewActivity"
 android:theme="@style/Theme.AppCompat.Light.NoActionBar"
 android:configChanges="orientation|keyboardHidden|screenSize"/>

//圖片剪切Activity
<activity
 android:name="com.donkingliang.imageselector.ClipImageActivity"
 android:theme="@style/Theme.AppCompat.Light.NoActionBar" />

3、調(diào)起圖片選擇器

ImageSelector支持圖片的單選、限數(shù)量的多選和不限數(shù)量的多選。在調(diào)起圖片選擇器的時候需要告訴選擇器,是那種情況。為了方便大家的使用,我在項(xiàng)目中提供了一個工具類,可以方便地調(diào)起選擇器。

 /**
 * 打開相冊,選擇圖片,可多選,不限數(shù)量。
 *
 * @param activity
 * @param requestCode
 */
 public static void openPhoto(Activity activity, int requestCode) {
 openPhoto(activity, requestCode, false, 0);
 }

 /**
 * 打開相冊,選擇圖片,可多選,限制最大的選擇數(shù)量。
 *
 * @param activity
 * @param requestCode
 * @param isSingle 是否單選
 * @param maxSelectCount 圖片的最大選擇數(shù)量,小于等于0時,不限數(shù)量,isSingle為false時才有用。
 */
 public static void openPhoto(Activity activity, int requestCode,
   boolean isSingle, int maxSelectCount) {
 ImageSelectorActivity.openActivity(activity, requestCode, isSingle, maxSelectCount);

 /**
 * 打開相冊,單選圖片并剪裁。
 *
 * @param activity
 * @param requestCode
 */
 public static void openPhotoAndClip(Activity activity, int requestCode) {
 ClipImageActivity.openActivity(activity, requestCode);
 }

工具類里只有簡單的兩個方法,至于里面的實(shí)現(xiàn)邏輯就直接交給了ImageSelectorActivity自己處理,調(diào)用者無需關(guān)心。調(diào)起選擇器只需要簡單的一句代碼就可以了。

 //單選
 ImageSelectorUtils.openPhoto(MainActivity.this, REQUEST_CODE, true, 0);

//限數(shù)量的多選(比喻最多9張)
ImageSelectorUtils.openPhoto(MainActivity.this, REQUEST_CODE, false, 9);

//不限數(shù)量的多選
ImageSelectorUtils.openPhoto(MainActivity.this, REQUEST_CODE);
//或者
ImageSelectorUtils.openPhoto(MainActivity.this, REQUEST_CODE, false, 0);

//單選并剪裁
ImageSelectorUtils.openPhotoAndClip(MainActivity.this, REQUEST_CODE);

REQUEST_CODE就是調(diào)用者自己定義的啟動Activity時的requestCode,這個相信大家都能明白。

4、接收選擇器返回的數(shù)據(jù)

在Activity的onActivityResult方法中接收選擇器返回的數(shù)據(jù)。

 @Override
 protected void onActivityResult(int requestCode, int resultCode, Intent data) {
 super.onActivityResult(requestCode, resultCode, data);
 if (requestCode == REQUEST_CODE && data != null) {
 //獲取選擇器返回的數(shù)據(jù)
 ArrayList<String> images = data.getStringArrayListExtra(
 ImageSelectorUtils.SELECT_RESULT);
 }
 }

ImageSelectorUtils.SELECT_RESULT是接收數(shù)據(jù)的key。數(shù)據(jù)是以ArrayList的字符串?dāng)?shù)組返回的,就算是單選,返回的也是ArrayList數(shù)組,只不過這時候ArrayList只有一條數(shù)據(jù)而已。ArrayList里面的數(shù)據(jù)就是選中的圖片的文件路徑。

ImageSelector的使用就介紹到這里了。

最后給出ImageSelector的項(xiàng)目地址

以上就是本文的全部內(nèi)容,希望對大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。

相關(guān)文章

  • Android實(shí)現(xiàn)類似360,QQ管家那樣的懸浮窗

    Android實(shí)現(xiàn)類似360,QQ管家那樣的懸浮窗

    用到的就是WindowManager以及WindowManager.LayoutParams,對這個LayoutParams做文章,當(dāng)設(shè)置為屬性后,然后,創(chuàng)建一個View,將這個View添加到WindowManager中就行
    2013-06-06
  • Android scheme 跳轉(zhuǎn)的設(shè)計(jì)與實(shí)現(xiàn)詳解

    Android scheme 跳轉(zhuǎn)的設(shè)計(jì)與實(shí)現(xiàn)詳解

    這篇文章主要介紹了Android scheme 跳轉(zhuǎn)的設(shè)計(jì)與實(shí)現(xiàn),本文通過實(shí)例代碼給大家介紹的非常詳細(xì),對大家的學(xué)習(xí)或工作具有一定的參考借鑒價值,需要的朋友可以參考下
    2020-06-06
  • Android中SharedPreferences簡單使用實(shí)例

    Android中SharedPreferences簡單使用實(shí)例

    這篇文章主要介紹了Android中SharedPreferences簡單使用案例,文中示例代碼介紹的非常詳細(xì),具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2017-10-10
  • flutter 路由跳轉(zhuǎn)的實(shí)現(xiàn)示例

    flutter 路由跳轉(zhuǎn)的實(shí)現(xiàn)示例

    這篇文章主要介紹了flutter 路由跳轉(zhuǎn)的實(shí)現(xiàn)示例,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2020-08-08
  • Android 調(diào)用百度地圖API示例

    Android 調(diào)用百度地圖API示例

    在Android開發(fā)中有一個非常重要的應(yīng)用就是實(shí)時定位,通過手機(jī)在手機(jī)地圖上進(jìn)行實(shí)時定位,定位當(dāng)前手機(jī)的位置,這篇文章主要介紹了Android 調(diào)用百度地圖API示例,有興趣的可以了解一下。
    2017-01-01
  • android 右滑返回的示例代碼

    android 右滑返回的示例代碼

    本篇文章主要介紹了android 右滑返回的示例代碼,小編覺得挺不錯的,現(xiàn)在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧
    2017-09-09
  • Android實(shí)現(xiàn)頁面翻轉(zhuǎn)和自動翻轉(zhuǎn)功能

    Android實(shí)現(xiàn)頁面翻轉(zhuǎn)和自動翻轉(zhuǎn)功能

    這篇文章主要介紹了Android中簡單實(shí)現(xiàn)頁面翻轉(zhuǎn)和自動翻轉(zhuǎn)的功能,本文通過實(shí)例代碼給大家介紹的非常詳細(xì),具有一定的參考借鑒價值,需要的朋友可以參考下
    2019-10-10
  • Android RxJava創(chuàng)建操作符Interval

    Android RxJava創(chuàng)建操作符Interval

    這篇文章主要為大家詳細(xì)介紹了Android RxJava創(chuàng)建操作符Interval的方法,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2017-12-12
  • Android仿微信鍵盤切換效果

    Android仿微信鍵盤切換效果

    這篇文章主要為大家詳細(xì)介紹了Android仿微信鍵盤切換效果,文中示例代碼介紹的非常詳細(xì),具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2019-11-11
  • Flutter使用AnimatedSwitcher實(shí)現(xiàn)場景切換動畫

    Flutter使用AnimatedSwitcher實(shí)現(xiàn)場景切換動畫

    在應(yīng)用中,我們經(jīng)常會遇到切換組件的場景。本文將利用Flutter中提供的AnimatedSwitcher這一動畫組件來實(shí)現(xiàn)頁面內(nèi)的場景切換,需要的可參考一下
    2022-03-03

最新評論

龙口市| 玉龙| 略阳县| 曲松县| 漳平市| 连云港市| 桐梓县| 广灵县| 仁化县| 锦州市| 辉南县| 驻马店市| 双桥区| 揭东县| 徐水县| 个旧市| 普兰县| 苏尼特左旗| 喀喇| 永新县| 准格尔旗| 同仁县| 建德市| 甘肃省| 和平县| 聂荣县| 千阳县| 南乐县| 宣武区| 万荣县| 将乐县| 泊头市| 三原县| 衡山县| 泾阳县| 五指山市| 九龙城区| 安溪县| 建宁县| 安岳县| 杭锦后旗|