Add jcenter() to repository in your project's build.gradle:
allprojects {
repositories {
...
jcenter()
}
}
Add imageslide to dependencies in your app's build.gradle:
dependencies {
...
implementation 'com.feiyilin:imageslide:0.1.2'
}
For the activity that you want to show the imagelide, add a FrameLayout to the end of its layout, e.g.,
<FrameLayout
android:id="@+id/imageslide_fragment"
android:layout_width="match_parent"
android:layout_height="match_parent"/>
Init the imageslide fragment
class MainActivity : ImageSlideActivity() {
override fun onCreate(savedInstanceState: Bundle?) {
...
// initialize the imageslide fragment
initImageSlideFragment(R.id.imageslide_fragment)
}
Show imageslide by calling show, e.g.,
val images = mutableListOf<ImageSlideItem>()
for (image in data) {
val item = ImageSlideResItem().image(image)
images.add(item)
}
imageSlideFragment.show(images, index)
Or check ImageSlideActivity if you want to use ImageSlideFragment directly in the activity.
- ImageSlideResItem is to load image from resource id, e.g.,
val item = ImageSlideResItem().image(imageResId)
- ImageSlidePathItem is to load image from path string, e.g.,
// add file resource
val item = ImageSlidePathItem().image("file:///android_asset/myimage.png")
// add url resource
val item2 = ImageSlidePathItem().image("http://i.imgur.com/DvpvklR.png")
To create a custom imageslide item
- derive a custom item from ImageSlideItem
open class ImageSlideCustomItem: ImageSlideItem() {
...
}
- override load function to load the image into an ImageView
open class ImageSlideCustomItem: ImageSlideItem() {
...
override fun load(view: ImageView?) {
...
}
}
-
onImageSlideHide
Called when imageslide fragment is shown/hidden.
-
onImageSlideLongClick
Called when long-click on an image.
-
onImageSlideSelected
Called when switch to a page.