@@ -4,21 +4,33 @@ import android.animation.LayoutTransition
44import android.animation.ObjectAnimator
55import android.annotation.SuppressLint
66import android.app.Fragment
7+ import android.content.pm.ActivityInfo
78import android.graphics.Color
9+ import android.os.Build
810import android.os.Bundle
911import android.support.v4.view.ViewPager
1012import android.support.v7.app.AppCompatActivity
1113import android.support.v7.widget.GridLayoutManager
1214import android.support.v7.widget.LinearLayoutManager
1315import android.support.v7.widget.RecyclerView
14- import android.view.Gravity
15- import android.view.LayoutInflater
16- import android.view.View
17- import android.view.ViewGroup
16+ import android.view.*
1817import android.widget.*
1918import java.lang.ref.WeakReference
2019import java.util.*
2120import kotlin.concurrent.timerTask
21+ import android.view.View.SYSTEM_UI_FLAG_HIDE_NAVIGATION
22+ import android.view.View.SYSTEM_UI_FLAG_LAYOUT_HIDE_NAVIGATION
23+ import android.view.View.SYSTEM_UI_FLAG_IMMERSIVE_STICKY
24+ import android.view.View.SYSTEM_UI_FLAG_LAYOUT_STABLE
25+ import android.view.View.SYSTEM_UI_FLAG_FULLSCREEN
26+ import android.view.View.SYSTEM_UI_FLAG_LOW_PROFILE
27+ import android.view.View.SYSTEM_UI_FLAG_LAYOUT_HIDE_NAVIGATION
28+ import android.view.View.SYSTEM_UI_FLAG_LAYOUT_STABLE
29+ import android.view.View.SYSTEM_UI_FLAG_LAYOUT_FULLSCREEN
30+
31+
32+
33+
2234
2335
2436@SuppressLint(" StaticFieldLeak" )
@@ -32,6 +44,8 @@ object PhotoViewer {
3244
3345
3446 internal var mInterface: ShowImageViewInterface ? = null
47+ private var mCreatedInterface: OnPhotoViewerCreatedListener ? = null
48+ private var mDestroyInterface: OnPhotoViewerDestroyListener ? = null
3549
3650 private lateinit var imgData: ArrayList <String > // 图片数据
3751 private lateinit var container: WeakReference <ViewGroup > // 存放图片的容器, ListView/GridView/RecyclerView
@@ -42,6 +56,23 @@ object PhotoViewer {
4256
4357 private var indicatorType = INDICATOR_TYPE_DOT // 默认type为小圆点
4458
59+ interface OnPhotoViewerCreatedListener {
60+ fun onCreated ()
61+ }
62+
63+
64+ interface OnPhotoViewerDestroyListener {
65+ fun onDestroy ()
66+ }
67+
68+ fun setOnPhotoViewerCreatedListener (l : OnPhotoViewerCreatedListener ): PhotoViewer {
69+ mCreatedInterface = l
70+ return this
71+ }
72+ fun setOnPhotoViewerDestroyListener (l : OnPhotoViewerDestroyListener ): PhotoViewer {
73+ mDestroyInterface = l
74+ return this
75+ }
4576
4677 /* *
4778 * 小圆点的drawable
@@ -206,7 +237,6 @@ object PhotoViewer {
206237 var tv: TextView ? = null
207238
208239
209-
210240 for (i in 0 until imgData.size) {
211241 val f = PhotoViewerFragment ()
212242 f.exitListener = object : PhotoViewerFragment .OnExitListener {
@@ -217,6 +247,11 @@ object PhotoViewer {
217247 frameLayout.removeAllViews()
218248 decorView.removeView(frameLayout)
219249 fragments.clear()
250+
251+
252+ if (mDestroyInterface != null ){
253+ mDestroyInterface!! .onDestroy()
254+ }
220255 }
221256 }
222257
@@ -379,6 +414,9 @@ object PhotoViewer {
379414 }
380415 decorView.addView(frameLayout, ViewGroup .LayoutParams .MATCH_PARENT , ViewGroup .LayoutParams .MATCH_PARENT )
381416
417+ if (mCreatedInterface != null ){
418+ mCreatedInterface!! .onCreated()
419+ }
382420 }
383421
384422
0 commit comments