Code Monkey home page Code Monkey logo

piximagepicker's Introduction

Pix (WhatsApp Style Image and Video Picker)

Pix is a Whatsapp image picker replica. with this you can integrate a image picker just like whatsapp.

Codacy Badge

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
          .setPreSelectedUrls(returnValue)                               //Pre selected Image Urls
          .setExcludeVideos(false)                                       //Option to exclude videos
          .setVideoDurationLimitinSeconds(30)                            //Duration for video recording
          .setScreenOrientation(Options.SCREEN_ORIENTATION_PORTRAIT)     //Orientaion
          .setPath("/pix/images");                                       //Custom Path For media Storage
        
   Pix.start(MainActivity.this, options);
   

or just use with minimal config

          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

Download or grab via Gradle:

include in app level build.gradle

       repositories {
          maven { url 'https://jitpack.io' }
       }
        implementation  'com.fxn769:pix:1.5.3'

or Maven:

        <dependency>
          <groupId>com.fxn769</groupId>
          <artifactId>pix</artifactId>
          <version>1.5.3</version>
          <type>pom</type>
        </dependency>

or ivy:

        <dependency org='com.fxn769' name='pix' rev='1.5.3'>
          <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

for Version 1.2.5 refer here

License

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!

piximagepicker's People

Contributors

akshay2211 avatar 73k05 avatar sabieber avatar abhinandansingh11 avatar diefferson avatar praslnx8 avatar shobhitgupta1245 avatar codacy-badger avatar

Watchers

James Cloos avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.