Skip to content

Image selector for Android device. Support single choice and multi-choice.

License

Notifications You must be signed in to change notification settings

SenRay/MultiImageSelector

Repository files navigation

MultiImageSelector

Image selector for Android device. Support single choice and multi-choice.

中文文档

###ART Example1Select1Select2Select3


###Run Demo

./gradlew installDebug

###Quick Start

  • Step 0 Add module multi-image-selector as your dependence.

  • Step 1 Declare permission android.permission.READ_EXTERNAL_STORAGE in your AndroidManifest.xml . Declare permission android.permission.WRITE_EXTERNAL_STORAGE in your AndroidManifest.xml . Declare MultiImageSelectorActivity in your AndroidManifest.xml .

<activityandroid:configChanges="orientation|screenSize"android:name="me.nereo.multi_image_selector.MultiImageSelectorActivity" />
  • Step 2 Call image selector activity in your code, eg.
Intentintent = newIntent(mContext, MultiImageSelectorActivity.class); // whether show cameraintent.putExtra(MultiImageSelectorActivity.EXTRA_SHOW_CAMERA, true); // max select image amountintent.putExtra(MultiImageSelectorActivity.EXTRA_SELECT_COUNT, 9); // select mode (MultiImageSelectorActivity.MODE_SINGLE OR MultiImageSelectorActivity.MODE_MULTI)intent.putExtra(MultiImageSelectorActivity.EXTRA_SELECT_MODE, MultiImageSelectorActivity.MODE_MULTI); // default select images (support array list)intent.putStringArrayListExtra(MultiImageSelectorActivity.EXTRA_DEFAULT_SELECTED_LIST, defaultDataArray); startActivityForResult(intent, REQUEST_IMAGE);
  • Step 3 Receive result in your onActivityResult Method. eg.
@OverrideprotectedvoidonActivityResult(intrequestCode, intresultCode, Intentdata){super.onActivityResult(requestCode, resultCode, data); if(requestCode == REQUEST_IMAGE){if(resultCode == RESULT_OK){// Get the result list of select image pathsList<String> path = data.getStringArrayListExtra(MultiImageSelectorActivity.EXTRA_RESULT); // do your logic .... } } }
  • Step 4 No more steps, just enjoy. :)

###Custom Activity Style

  • Custome your own Activity
classCustomerActivityextendsActivityimplementsMultiImageSelectorFragment.Callback{@OverrideprotectedvoidonCreate(BundlesavedInstanceState){// customer logic here...Bundlebundle = newBundle(); bundle.putInt(MultiImageSelectorFragment.EXTRA_SELECT_COUNT, mDefaultCount); bundle.putInt(MultiImageSelectorFragment.EXTRA_SELECT_MODE, mode); bundle.putBoolean(MultiImageSelectorFragment.EXTRA_SHOW_CAMERA, isShow); // Add fragment to your ActivitygetSupportFragmentManager().beginTransaction() .add(R.id.image_grid, Fragment.instantiate(this, MultiImageSelectorFragment.class.getName(), bundle)) .commit()} @OverridepublicvoidonSingleImageSelected(Stringpath){// When select mode set to MODE_SINGLE, this method will received result from fragment } @OverridepublicvoidonImageSelected(Stringpath){// You can specify your ActionBar behavior here  } @OverridepublicvoidonImageUnselected(Stringpath){// You can specify your ActionBar behavior here  } @OverridepublicvoidonCameraShot(FileimageFile){// When user take phone by camera, this method will be called. } }
  • Take a glance of MultiImageSelectorActivity.java

###Change Log

  • 2016-1-19

    1. Fixed. cannot load some 0-size image
    2. Added. When take a new photo, notify media scanner
    3. Fixed. Can't take photo on RED-MI
    4. Fixed. Performance when show Camera-Icon
  • 2015-5-5

    1. Fixed. Can't display some images. (Issue bysd6352051, larry)
    2. Fixed. ListPopupWindow can not fill parent
    3. Added. Add checked mask.
  • 2015-4-16

    1. Fixed. Crack when rotate device. (Issue by @Leminity)
    2. Fixed. PopupListView position error. (Issue by @Slock)
    3. Change. Demo application shortcut.
    4. Change. Readme file.
  • 2015-4-9

    1. Fixed. When set EXTRA_SHOW_CAMERA to true, the first grid item onclick event were messed.
    2. Add. Support initial selected image list.

###Thanks

  • square-picasso A powerful image downloading and caching library for Android

###License

The MIT License (MIT)

Copyright (c) 2015 Nereo

Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:

The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.

About

Image selector for Android device. Support single choice and multi-choice.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • Java100.0%