تبلیغات

کتابخانه Matisse اندروید – انتخاب تصاویر و ویدیو از گالری اندروید

کتابخانه Matisse اندروید – انتخاب تصاویر و ویدیو از گالری اندروید

انتخاب تصاویر و ویدیو از گالری در اندروید با کتابخانه Matisse
انتخاب تصاویر و ویدیوها به صورت چندتایی


اگر با پیام‌رسان تلگرام کار کرده باشید، خواهید دید که می‌توان از گالری به جای یک تصویر، چند تصویر انتخاب کرد! و حالا کتابخانه‌ی Matisse، علاوه بر اینکه امکان انتخاب چندتایی را برایتان محیا می‌سازد، در کنار آن شامل طراحی عالی و امکانات دیگری نیز می‌باشد.

راه‌اندازی Matisse

آن را به صورت زیر به Gradle خو اضافه کنید:

repositories {
    jcenter()
}

dependencies {
    compile 'com.zhihu.android:matisse:$latest_version'
}

اگر چنانچه از Proguard استفاده می‌کنید، در صورت استفاده از Glide به عنوان موتور تصویر، دستور زیر را نیز به آن اضافه کنید:

-dontwarn com.squareup.picasso.**

و اگر از Picaso به عنوان موتور تصویر استفاده می‌کنید، دستور زیر را اضافه کنید:

-dontwarn com.bumptech.glide.**

دو دسترسی زیر را نیز به AndroidManifest.xml خود اضافه کنید:

    android.permission.READ_EXTERNAL_STORAGE
    android.permission.WRITE_EXTERNAL_STORAGE

و فراموش نکنید که این دو دسترسی در اندروید +6.0 به بالا، نیاز به تایید از طرف کاربر دارند.

روش استفاده

فرض کنید در یک اکتیویتی یا فرگمنت قرار داریم؛ حال برای باز کردن انتخاب‌گر تصویر یا ویدیو، به صورت زیر عمل می‌کنیم:

Matisse.from(MainActivity.this)
        .choose(MimeType.allOf())
        .countable(true)
        .maxSelectable(9)
        .addFilter(new GifSizeFilter(320, 320, 5 * Filter.K * Filter.K))
        .gridExpectedSize(getResources().getDimensionPixelSize(R.dimen.grid_expected_size))
        .restrictOrientation(ActivityInfo.SCREEN_ORIENTATION_UNSPECIFIED)
        .thumbnailScale(0.85f)
        .imageEngine(new GlideEngine())
        .forResult(REQUEST_CODE_CHOOSE);
  • from: تعیین اکتیویتی یا فرگمنت فعلی
  • choose: نوع انتخابی
  • countable: شمارش تعداد انتخاب شده
  • maxSelectable: حداکثر مقدار انتخابی
  • addFilter: اضافه کردن فیلتر انتخابی
  • gridExpectedSize:
  • restrictOrientation: افقی یا عمودی بودن صفحه انتخابی
  • thumbnailScale: میزان بزرگنمایی تصاویر بند انگشتی
  • imageEngine: موتور تصاویر (Glide یا Picaso)
  • forResult: کد بازگشتی برای بررسی در رویداد onActivityResult اکتیویتی یا فرگمنت

رویداد بازشگتی onActivityResult

آن را به صورت زیر می‌نویسیم:

List<Uri> mSelected;

@Override
protected void onActivityResult(int requestCode, int resultCode, Intent data) {
    super.onActivityResult(requestCode, resultCode, data);
    if (requestCode == REQUEST_CODE_CHOOSE && resultCode == RESULT_OK) {
        mSelected = Matisse.obtainResult(data);
        Log.d("Matisse", "mSelected: " + mSelected);
    }
}

کل فایل‌های انتخابی در داخل لیست mSelected قرار می‌گیرند و می‌توانیم از آن استفاده کنیم.

 


درباره نویسنده

هادی اکبرزاده

[ مدیر فول کده ]

یه کلاسِ تعریف نشده ... فقط برای ارتباط کاری تلگرام پیام بدید ...

پاسخ دهید

نشانی ایمیل شما منتشر نخواهد شد. بخش‌های موردنیاز علامت‌گذاری شده‌اند *

نظرات ثبت شده بدون دیدگاه

توضیحات تصاویر پیشنهادی نظرات اشتراک