diff --git a/README.md b/README.md
index 0b0faf4..ede63cf 100644
--- a/README.md
+++ b/README.md
@@ -1,11 +1,11 @@


-[  ](https://bintray.com/greentoad/android-image-preview/com.greentoad.turtlebody.imagepreview/latest/link)
### Demo:
-
+
+
[
1) {
- preview_fragment_bottom_ll.visibility = View.GONE
+ preview_fragment_parent_fl?.let {
+ mUiVisibilityFlag = preview_fragment_parent_fl.systemUiVisibility
+ preview_fragment_parent_fl.systemUiVisibility =
+ View.SYSTEM_UI_FLAG_FULLSCREEN or
+ //View.SYSTEM_UI_FLAG_LAYOUT_STABLE or //to get stable view this mUiVisibilityFlag sometime add views which disrupt our original views
+ View.SYSTEM_UI_FLAG_IMMERSIVE_STICKY or
+ View.SYSTEM_UI_FLAG_LAYOUT_HIDE_NAVIGATION or
+ View.SYSTEM_UI_FLAG_HIDE_NAVIGATION
+
+ preview_fragment_app_bar.setPadding(0, 0, 0, 0)
+ preview_fragment_bottom_ll.setPadding(0, 0, 0, 0)
+
+ preview_fragment_activity_toolbar.visibility = View.GONE
+
+ if (mPreviewConfig.mUriList.size > 1) {
+ preview_fragment_bottom_ll.visibility = View.GONE
+ }
}
}
@@ -373,6 +375,7 @@ class ImagePreview {
try {
hide()
}catch (e:IllegalStateException){
+ }catch (e:NullPointerException){
}
false
} else {
diff --git a/imagepreview/src/main/java/com/greentoad/turtlebody/imagepreview/ui/components/ImageFragmentViewer.kt b/imagepreview/src/main/java/com/greentoad/turtlebody/imagepreview/ui/components/ImageFragmentViewer.kt
index af5313b..aee4793 100644
--- a/imagepreview/src/main/java/com/greentoad/turtlebody/imagepreview/ui/components/ImageFragmentViewer.kt
+++ b/imagepreview/src/main/java/com/greentoad/turtlebody/imagepreview/ui/components/ImageFragmentViewer.kt
@@ -1,12 +1,18 @@
package com.greentoad.turtlebody.imagepreview.ui.components
+import android.graphics.Bitmap
+import android.graphics.drawable.Drawable
import android.net.Uri
import android.os.Bundle
import android.view.LayoutInflater
import android.view.View
import android.view.ViewGroup
import androidx.fragment.app.Fragment
+import com.bumptech.glide.Glide
+import com.bumptech.glide.load.engine.DiskCacheStrategy
+import com.bumptech.glide.request.target.CustomTarget
+import com.bumptech.glide.request.transition.Transition
import com.davemorrissey.labs.subscaleview.ImageSource
import com.greentoad.turtlebody.imagepreview.R
import com.greentoad.turtlebody.imagepreview.ui.components.ViewPagerAdapter.Companion.B_ARG_URI
@@ -14,7 +20,7 @@ import kotlinx.android.synthetic.main.tb_image_preview_view_pager.*
import org.jetbrains.anko.AnkoLogger
-class ImageFragmentViewer: Fragment(),AnkoLogger {
+class ImageFragmentViewer : Fragment(), AnkoLogger {
private lateinit var mUri: Uri
@@ -22,7 +28,7 @@ class ImageFragmentViewer: Fragment(),AnkoLogger {
@JvmStatic
fun newInstance(key: Int, b: Bundle?): ImageFragmentViewer {
val bf: Bundle = b ?: Bundle()
- bf.putInt("fragment.key", key);
+ bf.putInt("fragment.key", key)
val fragment = ImageFragmentViewer()
fragment.arguments = bf
return fragment
@@ -31,13 +37,15 @@ class ImageFragmentViewer: Fragment(),AnkoLogger {
override fun onCreate(savedInstanceState: Bundle?) {
super.onCreate(savedInstanceState)
- val b = arguments!!
- mUri = Uri.parse(b.getString(B_ARG_URI,""))
+ val b = requireArguments()
+ mUri = Uri.parse(b.getString(B_ARG_URI, ""))
}
- override fun onCreateView(inflater: LayoutInflater, container: ViewGroup?,
- savedInstanceState: Bundle?): View? {
+ override fun onCreateView(
+ inflater: LayoutInflater, container: ViewGroup?,
+ savedInstanceState: Bundle?
+ ): View? {
// Inflate the layout for this fragment
return inflater.inflate(R.layout.tb_image_preview_view_pager, container, false)
}
@@ -45,7 +53,15 @@ class ImageFragmentViewer: Fragment(),AnkoLogger {
override fun onViewCreated(view: View, savedInstanceState: Bundle?) {
super.onViewCreated(view, savedInstanceState)
- view_pager_iv.setImage(ImageSource.uri(mUri))
+ Glide.with(this).asBitmap().load(mUri).diskCacheStrategy(DiskCacheStrategy.ALL)
+ .into(object :
+ CustomTarget() {
+ override fun onResourceReady(resource: Bitmap, transition: Transition?) {
+ view_pager_iv.setImage(ImageSource.bitmap(resource))
+ }
+
+ override fun onLoadCleared(placeholder: Drawable?) {}
+ })
view_pager_iv.setOnClickListener {
mOnImageClickListener?.onImageClick()
}
@@ -53,11 +69,11 @@ class ImageFragmentViewer: Fragment(),AnkoLogger {
private var mOnImageClickListener: OnImageClickListener? = null
- fun setListener(listener: OnImageClickListener){
+ fun setListener(listener: OnImageClickListener) {
mOnImageClickListener = listener
}
- interface OnImageClickListener{
+ interface OnImageClickListener {
fun onImageClick()
}
diff --git a/imagepreview/src/main/res/values/colors.xml b/imagepreview/src/main/res/values/colors.xml
index fc71ba2..97e4b3f 100644
--- a/imagepreview/src/main/res/values/colors.xml
+++ b/imagepreview/src/main/res/values/colors.xml
@@ -2,6 +2,9 @@
+ #FFFFFF
+ #707070
+ #2AE2FF
#000000
#707070
diff --git a/local.properties b/local.properties
new file mode 100644
index 0000000..a5e7ec5
--- /dev/null
+++ b/local.properties
@@ -0,0 +1,8 @@
+## This file must *NOT* be checked into Version Control Systems,
+# as it contains information specific to your local configuration.
+#
+# Location of the SDK. This is only used by Gradle.
+# For customization when using a Version Control System, please read the
+# header note.
+#Mon May 31 16:59:15 CEST 2021
+sdk.dir=/Users/oli/Library/Android/sdk