Pix (WhatsApp Style Image Picker)
Pix is a Whatsapp image picker replica. with this you can integrate a image picker just like whatsapp.
Demo
Usage
Options options = Options.init()
.setRequestCode(100) //Request code for activity results
.setCount(3) //Number of images to restict selection count
.setFrontfacing(false) //Front Facing camera on start
.setImageQuality(ImageQuality.HIGH) //Image Quality
.setPreSelectedUrls(returnValue) //Pre selected Image Urls
.setScreenOrientation(Options.SCREEN_ORIENTATION_PORTRAIT) //Orientaion
.setPath("/pix/images"); //Custom Path For Image Storage
Pix.start(MainActivity.this, options);
or just use
Pix.start(context, Options.init().setRequestCode(100));
for fetching only a single picture.
Use onActivityResult method to get results
@Override
public void onActivityResult(int requestCode, int resultCode, Intent data) {
super.onActivityResult(requestCode, resultCode, data);
if (resultCode == Activity.RESULT_OK && requestCode == RequestCode) {
ArrayList<String> returnValue = data.getStringArrayListExtra(Pix.IMAGE_RESULTS);
}
}
Customise
Theme
include these items in colors.xml with custom color codes
<resources>
<color name="colorPrimaryPix">#075e54</color>
<color name="colorPrimaryLightPix">#80075e54</color>
</resources>
Permission Handling
include onRequestPermissionsResult method in your Activity/Fragment for permission selection
@Override
public void onRequestPermissionsResult(int requestCode, String permissions[], int[] grantResults) {
switch (requestCode) {
case PermUtil.REQUEST_CODE_ASK_MULTIPLE_PERMISSIONS: {
// If request is cancelled, the result arrays are empty.
if (grantResults.length > 0 && grantResults[0] == PackageManager.PERMISSION_GRANTED) {
Pix.start(context, Options.init().setRequestCode(100));
} else {
Toast.makeText(MainActivity.this, "Approve permissions to open Pix ImagePicker", Toast.LENGTH_LONG).show();
}
return;
}
}
}
Thanks to
Download
include in app level build.gradle
repositories {
maven { url 'https://jitpack.io' }
}
implementation 'com.fxn769:pix:1.4.4'
or Maven:
<dependency>
<groupId>com.fxn769</groupId>
<artifactId>pix</artifactId>
<version>1.4.4</version>
<type>pom</type>
</dependency>
or ivy:
<dependency org='com.fxn769' name='pix' rev='1.4.4'>
<artifact name='pix' ext='pom' ></artifact>
</dependency>
Snapshots of the development version are available in [Sonatype's snapshots
repository][snap].
Updates
Pix is using the new Material library with the legacy Support Library. You have to migrate to android.support to androidx in order to use com.google.android.material.
With Android Studio 3.2 and higher, you can quickly migrate an existing project to use AndroidX by selecting Refactor > Migrate to AndroidX from the menu bar.
For more details kindly refer Migrating to AndroidX
here
for Version 1.2.5 referLicense
Licensed under the Apache License, Version 2.0, click here for the full license.
Author & support
This project was created by Akshay Sharma.
If you appreciate my work, consider buying me a cup of
☕ to keep me recharged🤘 by PayPal
I love using my work and I'm available for contract work. Freelancing helps to maintain and keep my open source projects up to date!