Preview Image Collection alternatives and similar packages
Based on the "Adapter" category.
Alternatively, view Preview Image Collection alternatives based on common mentions on social networks and blogs.
-
Epoxy
Epoxy is an Android library for building complex screens in a RecyclerView -
FastAdapter
The bullet proof, fast and easy to use adapter library, which minimizes developing time to a fraction... -
SectionedRecyclerViewAdapter
An Adapter that allows a RecyclerView to be split into Sections with headers and/or footers. Each Section can have its state controlled individually. -
Renderers
Renderers is an Android library created to avoid all the boilerplate needed to use a RecyclerView/ListView with adapters. -
MultiChoiceAdapter
Android - A ListView adapter with support for multiple choice modal selection -
AutoplayVideos
Android library to auto-play/pause videos from url in recyclerview. -
SlimAdapter
A slim & clean & typeable Adapter without# VIEWHOLDER -
RecyclerViewHelper
:page_with_curl: [Android Library] Giving powers to RecyclerView -
easy-adapter
[DEPRECATED] Easy Adapters library for Android -
EfficientAdapter
Create a new adapter for a RecyclerView or ViewPager is now much easier. -
SmartRecyclerAdapter
Small, smart and generic adapter for recycler view with easy and advanced data to ViewHolder binding. -
adapter-kit
Adapter Kit is a set of useful adapters for Android. -
FunDapter
Simplify Adapter creation for your Android ListViews. -
GridListViewAdapters
This library provides GridAdapters(ListGridAdapter & CursorGridAdapter) which enable you to bind your data in grid card fashion within android.widget.ListView, Also provides many other features related to GridListView. -
Items
Generate data-view-binding adapters of android recycler view. -
instant-adapter
Just like instant coffee, saves 78% of your time on Android's Custom Adapters. -
RxRecyclerAdapter
Rx based RecyclerView Adapter -
EasyListViewAdapters
This library provides Easy Android ListView Adapters(EasyListAdapter & EasyCursorAdapter) which makes designing Multi-Row-Type ListView very simple & cleaner, It also provides many useful features for ListView. -
AutoAdapter
This Repository simplifies working with RecyclerView Adapter -
IntentSharingAnim
Intent sharing between activities of views with animation -
Android-BasicAdapter
No separate adapter files for not-so-complex RecyclerViews -
Suggestive 🍌
An Android UI library that allows easy implementation of (text) input suggestion popup windows. -
MultiLevelAdapter
Android library to allow collapsing and expanding items in RecyclerView's Adapter on multiple levels -
Register-Yourself
This app uses SQLite database to sign-up and register a user
Appwrite - The open-source backend cloud platform
* Code Quality Rankings and insights are calculated and provided by Lumnify.
They vary from L1 to L5 with "L5" being the highest.
Do you think we are missing an alternative of Preview Image Collection or a related project?
README
Preview Image Collection
Introduction
Preview Image Collection is a library to draw a collage with a number of images like facebook preview album
Install
Step 1. Add the JitPack repository to your build file Add it in your root build.gradle at the end of repositories:
allprojects {
repositories {
...
maven { url 'https://jitpack.io' }
}
}
Step 2. Add the dependency
dependencies {
implementation 'com.github.AgnaldoNP:PreviewImageCollection:1.2'
}
Usage
Sample of usage
<pereira.agnaldo.previewimgcol.ImageCollectionView
android:id="@+id/imageCollectionView"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:layout_marginTop="30dp"
app:backgroundColor="@color/colorAccent"
app:baseRowHeight="150dp"
app:imageMargin="1dp"
app:pinchToZoom="true"
app:showExternalBorderMargins="true"
app:maxImagePerRow="3"
app:maxRows="2" />
Options
Property | Value type | Default |
---|---|---|
backgroundColor | color | #FFFFFF |
baseRowHeight | dimension | 150dp |
imageMargin | dimension | 1dp |
pinchToZoom | boolean | true |
showExternalBorderMargins | boolean | true |
maxImagePerRow | integer | 3 |
maxRows | integer | 3 |
imageScaleType | enum | center_crop |
Programmatically
var collectionView = findViewById(R.id.imageCollectionView)
collectionView.maxRows = ImageCollectionView.NO_ROW_LIMITS
collectionView.maxRows = 10
collectionView.maxImagePerRow =3
collectionView.imageMargin = 10
collectionView.baseImageHeight = 150
collectionView.mBackgroundColor = Color.WHITE
collectionView.pinchToZoom = true
ollectionView.showExternalBorderMargins = true
val bitmap = ...
collectionView.addImage(bitmap)
val bitmap2 = ...
collectionView.addImage(bitmap2, object : ImageCollectionView.OnImageClickListener {
override fun onClick(bitmap: Bitmap, imageView: ImageView) {
Toast.makeText(imageView.context, "Test Click on image ...", Toast.LENGTH_LONG).show()
}
})
// or simply
collectionView.addImage(bitmap2, { bitmap: Bitmap?, imageView: ImageView? ->
Toast.makeText(context, "Test Click on image ...", Toast.LENGTH_LONG).show()
})
collectionView.setOnMoreClicked(object : ImageCollectionView.OnMoreClickListener {
override fun onMoreClicked(bitmaps: List<Bitmap>) {
Toast.makeText(collectionView.context, "on more clicked ", Toast.LENGTH_LONG).show()
}
})
// or simply
collectionView.setOnMoreClicked { bitmaps ->
Toast.makeText(collectionView.context, "on more clicked ", Toast.LENGTH_LONG).show()
}
ImageCollectionView collectionView = (ImageCollectionView) findViewById(R.id.imageCollectionView);
Bitmap bitmap = ...;
imageCollectionView.addImage(bitmap);
Bitmap bitmap2 = ...;
imageCollectionView.addImage(bitmap, (bmp, imageView) -> {
Toast.makeText(context, "Test Click image 08", Toast.LENGTH_LONG).show();
});
imageCollectionView.setOnMoreClicked(bitmaps -> {
Toast.makeText(context, "OnMoreClicked", Toast.LENGTH_LONG).show();
});
Contributions and Support
This project made use of Zoomy by Álvaro Blanco to enable "pinch to zoom" functionality.
Contributions are welcome. Create a new pull request in order to submit your fixes and they shall be merged after moderation. In case of any issues, bugs or any suggestions, either create a new issue or post comments in already active relevant issues