You can find the PlaceHolderView documentation here which has extended usage instructions and other useful information.
Some of the views in PlaceHolderView library is build on top of RecyclerView and rest are written in its own.
You can connect with me here:
All the annotations are processed during build time to generate the binding classes
There are two versions available for use.
PlaceHolderView
It is build on top of RecyclerView and abstracts most of the boiler plate. It provides APIs through annotations.
InfinitePlaceHolderView
It is build on PlaceHolderView and adds the functionality of handling load more views when the user has scrolled to the bottom of the list.
ExpandablePlaceHolderView
It is build on PlaceHolderView and creates ExpandableListView with parent-child relation.
SwipePlaceHolderView
It is not build on RecyclerView. Its a ground up implementation. We can create a variety of card stack views using this class. It provides APIs that could easily build Tinder like cards.
SwipeDirectionalView
It is build on top of SwipePlaceHolderView. It provides callbacks for swipe directions and touch events.
Java
dependencies {
...
compile 'com.mindorks.android:placeholderview:1.0.3'
annotationProcessor 'com.mindorks.android:placeholderview-compiler:1.0.3'
// RecyclerView dependency is added to override the
// default 25.4.1 RecyclerView dependency used by placeholderview.
// If you are using the support libraries other than 25.x in the project
compile 'com.android.support:recyclerview-v7:<current-version>' // example: 27.1.0
}
Kotlin
dependencies {
...
// RecyclerView dependency is added to override the
// default 25.4.1 RecyclerView dependency stated by placeholderview
// since we are using the 27.+ support libraries in the project
implementation 'com.android.support:recyclerview-v7:27.1.0'
implementation 'com.mindorks.android:placeholderview:1.0.3'
kapt 'com.mindorks.android:placeholderview-compiler:1.0.3'
}
It is super easy to migrate to 2.x branch library version.
If you want to use older version of PlaceHoldeView that used reflection, then you can use below dependecies.
dependencies {
compile 'com.mindorks:placeholderview:0.7.3'
}
Add below lines in your app's build.gradle if recyclerview above v7:25 is being used
// NOTE: change the version of recyclerview same as the your project's support library version
com.android.support:recyclerview-v7:25.+
If you are using proguard, then add this rule in proguard-project.txt
-keepattributes *Annotation*
-keepclassmembers class ** {
@com.mindorks.placeholderview.annotations.** <methods>;
}
Copyright (C) 2023 Janishar Ali Anwar
Licensed under the Apache License, Version 2.0 (the "License");
you may not use this file except in compliance with the License.
You may obtain a copy of the License at
http://www.apache.org/licenses/LICENSE-2.0
Unless required by applicable law or agreed to in writing, software
distributed under the License is distributed on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
See the License for the specific language governing permissions and
limitations under the License