Description
Pix is a Whatsapp image picker replica. with this you can integrate a image picker just like whatsapp.
Pix (WhatsApp Style Image Picker) alternatives and similar packages
Based on the "Camera" category.
Alternatively, view Pix (WhatsApp Style Image Picker) alternatives based on common mentions on social networks and blogs.
-
MagicalCamera
A library to take picture easy, transform your data in different format and save photos in your device -
LiveEdgeDetection
LiveEdgeDetection is an Android document detection library built on top of OpenCV. It scans documents from camera live mode and allows you to adjust crop using the detected 4 edges and performs perspective transformation of the cropped image. It works best with a dark background. -
Camera
๐ธ Use Android camera to take pictures and videos, based on `camera2` api. -
Heart-Rate-Ometer
Measures human heart rate using camera and flash light. -
HiddenCamera
๐ธ A library that allows you to capture images in background without displaying UI. -
ImagePicker
Android library to choose image from gallery or camera with option to compress result image -
Instagram ImagePicker
Instagram like Image Picker for Android
Appwrite - The Open Source Firebase alternative introduces iOS support
Do you think we are missing an alternative of Pix (WhatsApp Style Image Picker) or a related project?
README
[Preview image](media/header.gif)
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.
Demo
[](media/two.gif)
Usage
set configuration as
val options = Options().apply{
ratio = Ratio.RATIO_AUTO //Image/video capture ratio
count = 1 //Number of images to restrict selection count
spanCount = 4 //Number for columns in grid
path = "Pix/Camera" //Custom Path For media Storage
isFrontFacing = false //Front Facing camera on start
videoDurationLimitInSeconds = 10 //Duration for video recording
mode = Mode.All //Option to select only pictures or videos or both
flash = Flash.Auto //Option to select flash type
preSelectedUrls = ArrayList<Uri>() //Pre selected Image Urls
}
Ratio can be
RATIO_4_3, RATIO_16_9, RATIO_AUTO
Mode to to select the media type can be as
All, Picture, Video
Then pass this config to the pix fragment either via
addPixToActivity(R.id.container, options) {
when (it.status) {
PixEventCallback.Status.SUCCESS -> //use results as it.data
PixEventCallback.Status.BACK_PRESSED -> // back pressed called
}
}
or plain fragment can be retrieved via
private val pixFragment = pixFragment(options)
The results can be retrieved via the constructor callback from the fragment
pixFragment(options){
when (it.status) {
PixEventCallback.Status.SUCCESS -> //use results as it.data
PixEventCallback.Status.BACK_PRESSED -> // back pressed called
}
}
Or can be retrieved by anywhere in the Application from the state flow eventbus
PixBus.results {
when (it.status) {
PixEventCallback.Status.SUCCESS -> //use results as it.data
PixEventCallback.Status.BACK_PRESSED -> // back pressed called
}
}
For detailed usage kindly refer to the below samples
- [FragmentSample](app/src/main/java/io/ak1/pixsample/samples/FragmentSample.kt) for Plain Fragment implementation
- [NavControllerSample](app/src/main/java/io/ak1/pixsample/samples/NavControllerSample.kt) for Fragments with NavController implementation
- [ViewPager2Sample](app/src/main/java/io/ak1/pixsample/samples/ViewPager2Sample.kt) for Fragments with ViewPager2 implementation
Customise
Theme
include these items in colors.xml with custom color codes
<resources>
<color name="video_counter_color_pix">#E53935</color>
<color name="primary_color_pix">#075e54</color>
<color name="primary_light_color_pix">#80075e54</color>
<color name="surface_color_pix">#ffffff</color>
<color name="text_color_pix">#807f7f</color>
</resources>
Thanks to
Backers
Become a backer and help us sustain our activities! ๐๐
Download
Download or grab via Gradle:
include in app level build.gradle
repositories {
mavenCentral()
}
implementation 'io.ak1.pix:piximagepicker:1.6.3'
or Maven:
<dependency>
<groupId>io.ak1.pix</groupId>
<artifactId>piximagepicker</artifactId>
<version>1.6.3</version>
<type>pom</type>
</dependency>
or ivy:
<dependency org='io.ak1.pix' name='piximagepicker' rev='1.6.3'>
<artifact name='pix' ext='pom' ></artifact>
</dependency>
Find docs for old versions in wiki 1.5.6 and 1.2.5
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 :coffee: to keep me recharged :metal: 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!
*Note that all licence references and agreements mentioned in the Pix (WhatsApp Style Image Picker) README section above
are relevant to that project's source code only.