From 10df1bb0d9b7e5358a2f877badaf52fd70852042 Mon Sep 17 00:00:00 2001 From: Allen Date: Thu, 28 Jan 2021 13:34:47 +0800 Subject: [PATCH 1/6] =?UTF-8?q?=E5=8D=87=E7=BA=A7gradle?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .idea/compiler.xml | 18 +- .idea/gradle.xml | 3 + .idea/modules.xml | 9 - .../activity/ClearScreenActivity.kt | 12 + .../widget/ClearScreenView.kt | 283 ++++++++++++++++++ .../main/res/layout/activity_clear_screen.xml | 6 + app/src/main/res/mipmap-xxhdpi/live_bg.jpeg | Bin 0 -> 93235 bytes build.gradle | 16 +- gradle/wrapper/gradle-wrapper.properties | 2 +- 9 files changed, 312 insertions(+), 37 deletions(-) delete mode 100644 .idea/modules.xml create mode 100644 app/src/main/java/com/allen/androidcustomview/activity/ClearScreenActivity.kt create mode 100644 app/src/main/java/com/allen/androidcustomview/widget/ClearScreenView.kt create mode 100644 app/src/main/res/layout/activity_clear_screen.xml create mode 100644 app/src/main/res/mipmap-xxhdpi/live_bg.jpeg diff --git a/.idea/compiler.xml b/.idea/compiler.xml index 96cc43e..61a9130 100644 --- a/.idea/compiler.xml +++ b/.idea/compiler.xml @@ -1,22 +1,6 @@ - - - - - - - - - - - - - - - - - + \ No newline at end of file diff --git a/.idea/gradle.xml b/.idea/gradle.xml index afaee01..57af74c 100644 --- a/.idea/gradle.xml +++ b/.idea/gradle.xml @@ -1,8 +1,10 @@ + diff --git a/.idea/modules.xml b/.idea/modules.xml deleted file mode 100644 index 788937b..0000000 --- a/.idea/modules.xml +++ /dev/null @@ -1,9 +0,0 @@ - - - - - - - - - \ No newline at end of file diff --git a/app/src/main/java/com/allen/androidcustomview/activity/ClearScreenActivity.kt b/app/src/main/java/com/allen/androidcustomview/activity/ClearScreenActivity.kt new file mode 100644 index 0000000..cfb9122 --- /dev/null +++ b/app/src/main/java/com/allen/androidcustomview/activity/ClearScreenActivity.kt @@ -0,0 +1,12 @@ +package com.allen.androidcustomview.activity + +/** + *
+ *      author  : Allen
+ *      e-mail  : yagang.li@yintech.cn
+ *      date    : 2021/1/28
+ *      desc    :
+ * 
+ */ +class ClearScreenActivity { +} \ No newline at end of file diff --git a/app/src/main/java/com/allen/androidcustomview/widget/ClearScreenView.kt b/app/src/main/java/com/allen/androidcustomview/widget/ClearScreenView.kt new file mode 100644 index 0000000..1e60146 --- /dev/null +++ b/app/src/main/java/com/allen/androidcustomview/widget/ClearScreenView.kt @@ -0,0 +1,283 @@ +package com.spero.vision.vsnapp.support.widget.live + +import android.animation.Animator +import android.animation.AnimatorListenerAdapter +import android.animation.ValueAnimator +import android.content.Context +import android.util.AttributeSet +import android.view.MotionEvent +import android.view.VelocityTracker +import android.view.View +import android.view.ViewGroup +import android.widget.FrameLayout +import com.ytx.logutil.YtxLog +import kotlin.math.abs + + +/** + *
+ *      @author : Allen
+ *      e-mail  : yagang.li@yintech.cn
+ *      date    : 2020/03/27
+ *      desc    : 滑动清屏view
+ * 
+ */ +enum class ClearScreenType { + LEFT_TO_RIGHT,//从左滑到右清屏 + RIGHT_TO_LEFT //从右滑到左清屏 +} + +enum class ClearScreenStatus { + NORMAL,//正常状态 + CLEARED//已经清屏状态 +} + +class ClearScreenView @JvmOverloads constructor(val mContext: Context, attrs: AttributeSet? = null, defStyleAttr: Int = 0) : FrameLayout(mContext, attrs, defStyleAttr) { + + companion object { + /** + * 最小移动距离 + */ + private const val MIN_SCROLL_SIZE = 50 + + /** + * 水平方向最小滑动速度 + */ + private const val MIN_X_VELOCITY = 10 + + /** + * 清屏动画时长 + */ + private const val DURATION = 300L + } + + /** + * 手指按下的x轴位置 + */ + private var mDownX = 0 + + /** + * 手指按下的y轴位置 + */ + private var mDownY = 0 + + /** + * 清屏view清屏时需要在x轴的偏移量 + */ + private var translateX = 0 + + /** + * 清屏view起始偏移量(例如:从无到有迁移量从-width到0) + */ + private var startTranslateX = 0 + + /** + * 滑动速度对象 + */ + private var mVelocityTracker: VelocityTracker? = null + + /** + * 清屏动画对象 + */ + private var mAnimator: ValueAnimator? = null + + /** + * 需要清除的Views + */ + private var listClearViews: ArrayList = ArrayList() + + /** + * 清屏事件 + */ + private var clearScreenListener: OnClearScreenListener? = null + + /** + * 清屏类型 左滑清屏 or 右滑清屏 (默认从左滑到右清屏) + */ + private var clearScreenType = ClearScreenType.LEFT_TO_RIGHT + + /** + * 当前清屏状态 + */ + private var clearScreenStatus = ClearScreenStatus.NORMAL + + init { + initView() + initAnim() + } + + private fun initView() { + val view = View(mContext) + view.layoutParams = ViewGroup.LayoutParams(ViewGroup.LayoutParams.MATCH_PARENT, ViewGroup.LayoutParams.MATCH_PARENT) + view.isClickable = true + addView(view, 0) + } + + private fun initAnim() { + mVelocityTracker = VelocityTracker.obtain() + mAnimator = ValueAnimator.ofFloat(0f, 1.0f).setDuration(DURATION) + mAnimator?.addUpdateListener { + val value = it.animatedValue as Float + val translate = startTranslateX + value * translateX + translateChild(translate) + } + mAnimator?.addListener(object : AnimatorListenerAdapter() { + override fun onAnimationEnd(animation: Animator?) { + when (clearScreenStatus) { + ClearScreenStatus.CLEARED -> { + clearScreenStatus = ClearScreenStatus.NORMAL + clearScreenListener?.onRestored() + } + ClearScreenStatus.NORMAL -> { + clearScreenStatus = ClearScreenStatus.CLEARED + clearScreenListener?.onCleared() + } + } + } + }) + } + + override fun onInterceptTouchEvent(ev: MotionEvent): Boolean { + if (clearScreenListener?.isForbidClearScreen() == true) { + return super.onInterceptTouchEvent(ev) + } + val x = ev.x.toInt() + val y = ev.y.toInt() + when (ev.action) { + MotionEvent.ACTION_DOWN -> { + mDownX = x + mDownY = y + } + MotionEvent.ACTION_MOVE -> { + return isInterceptClearScreenEvent(x, y) + } + } + return super.onInterceptTouchEvent(ev) + } + + private fun isInterceptClearScreenEvent(x: Int, y: Int): Boolean { + return isMoveForHorizontal(x, y) && !isAnimRunning() && isGreaterThanMinSize(mDownX, x) + } + + /** + * 是否水平方向滑动 + */ + private fun isMoveForHorizontal(x: Int, y: Int): Boolean { + return abs(x - mDownX) > abs(y - mDownY) + } + + private fun isAnimRunning(): Boolean { + return mAnimator?.isRunning == true + } + + override fun onTouchEvent(event: MotionEvent): Boolean { + mVelocityTracker?.addMovement(event) + val x = event.x.toInt() + when (event.action) { + MotionEvent.ACTION_UP -> { + mVelocityTracker?.computeCurrentVelocity(10) + val xVelocity = mVelocityTracker?.xVelocity ?: 0f + YtxLog.d("ClearScreenViw", "onTouchEvent------xVelocity=$xVelocity") + when { + //从左往右滑动(是正数)速度大于阈值 + xVelocity > MIN_X_VELOCITY -> { + setLeft2RightMoveTranslateX() + } + //从右往左滑动(是负数)速度大于阈值 + xVelocity < -MIN_X_VELOCITY -> { + setRight2LeftMoveTranslateX() + } + else -> { + translateX = 0 + } + } + if (translateX != 0) { + mAnimator?.start() + } + return true + } + } + + return super.onTouchEvent(event) + } + + private fun setLeft2RightMoveTranslateX() { + when (clearScreenType) { + ClearScreenType.LEFT_TO_RIGHT -> { + startTranslateX = 0 + translateX = if (clearScreenStatus == ClearScreenStatus.NORMAL) width else 0 + } + ClearScreenType.RIGHT_TO_LEFT -> { + startTranslateX = -width + translateX = if (clearScreenStatus == ClearScreenStatus.NORMAL) 0 else width + } + } + } + + private fun setRight2LeftMoveTranslateX() { + when (clearScreenType) { + ClearScreenType.LEFT_TO_RIGHT -> { + startTranslateX = width + translateX = if (clearScreenStatus == ClearScreenStatus.NORMAL) 0 else -width + } + ClearScreenType.RIGHT_TO_LEFT -> { + startTranslateX = 0 + translateX = if (clearScreenStatus == ClearScreenStatus.NORMAL) -width else 0 + } + } + } + + /** + * 是否大于清屏方向的最小值 + */ + private fun isGreaterThanMinSize(downX: Int, moveX: Int): Boolean { + return when (clearScreenType) { + ClearScreenType.LEFT_TO_RIGHT -> { + when (clearScreenStatus) { + ClearScreenStatus.NORMAL -> moveX - downX > MIN_SCROLL_SIZE + ClearScreenStatus.CLEARED -> downX - moveX > MIN_SCROLL_SIZE + } + } + ClearScreenType.RIGHT_TO_LEFT -> { + when (clearScreenStatus) { + ClearScreenStatus.NORMAL -> downX - moveX > MIN_SCROLL_SIZE + ClearScreenStatus.CLEARED -> moveX - downX > MIN_SCROLL_SIZE + } + } + } + } + + private fun translateChild(translate: Float) { + for (view in listClearViews) { + view.translationX = translate + } + } + + fun addClearViews(views: List) { + for (view in views) { + if (!listClearViews.contains(view)) { + listClearViews.add(view) + } + } + } + + fun removeClearViews(views: List) { + for (view in views) { + listClearViews.remove(view) + } + } + + fun removeAllClearViews() { + listClearViews.clear() + } + + fun setOnClearScreenListener(listener: OnClearScreenListener?) { + this.clearScreenListener = listener + } + + interface OnClearScreenListener { + fun onCleared() + fun onRestored() + fun isForbidClearScreen(): Boolean = false + } +} \ No newline at end of file diff --git a/app/src/main/res/layout/activity_clear_screen.xml b/app/src/main/res/layout/activity_clear_screen.xml new file mode 100644 index 0000000..3509b84 --- /dev/null +++ b/app/src/main/res/layout/activity_clear_screen.xml @@ -0,0 +1,6 @@ + + + + \ No newline at end of file diff --git a/app/src/main/res/mipmap-xxhdpi/live_bg.jpeg b/app/src/main/res/mipmap-xxhdpi/live_bg.jpeg new file mode 100644 index 0000000000000000000000000000000000000000..b29c7f676630a9d09f0e644c86cb56374fcf11ca GIT binary patch literal 93235 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 Hb9&;yL(&9Hx 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 Date: Thu, 28 Jan 2021 13:37:16 +0800 Subject: [PATCH 2/6] =?UTF-8?q?=E4=BE=A7=E6=BB=91=E6=B8=85=E5=B1=8F?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- app/src/main/AndroidManifest.xml | 1 + .../activity/ClearScreenActivity.kt | 13 +++++++++- .../activity/MainActivity.kt | 2 ++ .../widget/ClearScreenView.kt | 14 ++++++---- .../main/res/layout/activity_clear_screen.xml | 26 ++++++++++++++++--- 5 files changed, 47 insertions(+), 9 deletions(-) diff --git a/app/src/main/AndroidManifest.xml b/app/src/main/AndroidManifest.xml index 7df0ab8..ce59942 100644 --- a/app/src/main/AndroidManifest.xml +++ b/app/src/main/AndroidManifest.xml @@ -39,6 +39,7 @@ + \ No newline at end of file diff --git a/app/src/main/java/com/allen/androidcustomview/activity/ClearScreenActivity.kt b/app/src/main/java/com/allen/androidcustomview/activity/ClearScreenActivity.kt index cfb9122..eb15592 100644 --- a/app/src/main/java/com/allen/androidcustomview/activity/ClearScreenActivity.kt +++ b/app/src/main/java/com/allen/androidcustomview/activity/ClearScreenActivity.kt @@ -1,5 +1,10 @@ package com.allen.androidcustomview.activity +import android.os.Bundle +import android.support.v7.app.AppCompatActivity +import com.allen.androidcustomview.R +import kotlinx.android.synthetic.main.activity_clear_screen.* + /** *
  *      author  : Allen
@@ -8,5 +13,11 @@ package com.allen.androidcustomview.activity
  *      desc    :
  * 
*/ -class ClearScreenActivity { +class ClearScreenActivity : AppCompatActivity() { + + override fun onCreate(savedInstanceState: Bundle?) { + super.onCreate(savedInstanceState) + setContentView(R.layout.activity_clear_screen) + clear_screen_container.addClearView(iv_clear_content) + } } \ No newline at end of file diff --git a/app/src/main/java/com/allen/androidcustomview/activity/MainActivity.kt b/app/src/main/java/com/allen/androidcustomview/activity/MainActivity.kt index b5dee27..5df548d 100644 --- a/app/src/main/java/com/allen/androidcustomview/activity/MainActivity.kt +++ b/app/src/main/java/com/allen/androidcustomview/activity/MainActivity.kt @@ -42,6 +42,7 @@ class MainActivity : AppCompatActivity(), BaseQuickAdapter.OnItemClickListener { typeBeans.add(TypeBean("RecyclerView的item动画", 14)) typeBeans.add(TypeBean("路径path动画", 15)) typeBeans.add(TypeBean("仿新浪投票控件", 16)) + typeBeans.add(TypeBean("直播侧滑清屏效果", 17)) return typeBeans } @@ -84,6 +85,7 @@ class MainActivity : AppCompatActivity(), BaseQuickAdapter.OnItemClickListener { 14 -> startActivity(Intent(this@MainActivity, RecyclerViewItemAnimActivity::class.java)) 15 -> startActivity(Intent(this@MainActivity, PathActivity::class.java)) 16 -> startActivity(Intent(this@MainActivity, SinaVoteActivity::class.java)) + 17 -> startActivity(Intent(this@MainActivity, ClearScreenActivity::class.java)) } } } diff --git a/app/src/main/java/com/allen/androidcustomview/widget/ClearScreenView.kt b/app/src/main/java/com/allen/androidcustomview/widget/ClearScreenView.kt index 1e60146..0865f7c 100644 --- a/app/src/main/java/com/allen/androidcustomview/widget/ClearScreenView.kt +++ b/app/src/main/java/com/allen/androidcustomview/widget/ClearScreenView.kt @@ -1,4 +1,4 @@ -package com.spero.vision.vsnapp.support.widget.live +package com.allen.androidcustomview.widget import android.animation.Animator import android.animation.AnimatorListenerAdapter @@ -10,15 +10,14 @@ import android.view.VelocityTracker import android.view.View import android.view.ViewGroup import android.widget.FrameLayout -import com.ytx.logutil.YtxLog import kotlin.math.abs /** *
  *      @author : Allen
- *      e-mail  : yagang.li@yintech.cn
- *      date    : 2020/03/27
+ *      e-mail  : lygttpod@163.com
+ *      date    : 2021/01/28
  *      desc    : 滑动清屏view
  * 
*/ @@ -177,7 +176,6 @@ class ClearScreenView @JvmOverloads constructor(val mContext: Context, attrs: At MotionEvent.ACTION_UP -> { mVelocityTracker?.computeCurrentVelocity(10) val xVelocity = mVelocityTracker?.xVelocity ?: 0f - YtxLog.d("ClearScreenViw", "onTouchEvent------xVelocity=$xVelocity") when { //从左往右滑动(是正数)速度大于阈值 xVelocity > MIN_X_VELOCITY -> { @@ -261,6 +259,12 @@ class ClearScreenView @JvmOverloads constructor(val mContext: Context, attrs: At } } + fun addClearView(view: View) { + if (!listClearViews.contains(view)) { + listClearViews.add(view) + } + } + fun removeClearViews(views: List) { for (view in views) { listClearViews.remove(view) diff --git a/app/src/main/res/layout/activity_clear_screen.xml b/app/src/main/res/layout/activity_clear_screen.xml index 3509b84..00a87e6 100644 --- a/app/src/main/res/layout/activity_clear_screen.xml +++ b/app/src/main/res/layout/activity_clear_screen.xml @@ -1,6 +1,26 @@ - - \ No newline at end of file + + + + + + + From aed19deeeea7bfeb9ae235aaba7153c5e9bd5122 Mon Sep 17 00:00:00 2001 From: Allen Date: Thu, 28 Jan 2021 14:09:07 +0800 Subject: [PATCH 3/6] =?UTF-8?q?ClearScreenView=E6=94=AF=E6=8C=81=E6=85=A2?= =?UTF-8?q?=E6=BB=91=E6=A8=A1=E5=BC=8F?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../widget/ClearScreenView.kt | 102 ++++++++++++++++-- 1 file changed, 93 insertions(+), 9 deletions(-) diff --git a/app/src/main/java/com/allen/androidcustomview/widget/ClearScreenView.kt b/app/src/main/java/com/allen/androidcustomview/widget/ClearScreenView.kt index 0865f7c..3b5e0bf 100644 --- a/app/src/main/java/com/allen/androidcustomview/widget/ClearScreenView.kt +++ b/app/src/main/java/com/allen/androidcustomview/widget/ClearScreenView.kt @@ -31,7 +31,12 @@ enum class ClearScreenStatus { CLEARED//已经清屏状态 } -class ClearScreenView @JvmOverloads constructor(val mContext: Context, attrs: AttributeSet? = null, defStyleAttr: Int = 0) : FrameLayout(mContext, attrs, defStyleAttr) { +enum class ClearScreenMode { + QUICK_SCROLL,//快速滑动才触发清屏 + SLOW_SCROLL//滑动出发清屏 +} + +class ClearScreenView @JvmOverloads constructor(private val mContext: Context, attrs: AttributeSet? = null, defStyleAttr: Int = 0) : FrameLayout(mContext, attrs, defStyleAttr) { companion object { /** @@ -100,6 +105,16 @@ class ClearScreenView @JvmOverloads constructor(val mContext: Context, attrs: At */ private var clearScreenStatus = ClearScreenStatus.NORMAL + /** + * 清屏模式 + */ + var clearScreenMode = ClearScreenMode.QUICK_SCROLL + + /** + * 是否正在处在滑动清屏状态 + */ + private var isScrolling = false + init { initView() initAnim() @@ -132,6 +147,7 @@ class ClearScreenView @JvmOverloads constructor(val mContext: Context, attrs: At clearScreenListener?.onCleared() } } + isScrolling = false } }) } @@ -147,15 +163,23 @@ class ClearScreenView @JvmOverloads constructor(val mContext: Context, attrs: At mDownX = x mDownY = y } - MotionEvent.ACTION_MOVE -> { - return isInterceptClearScreenEvent(x, y) - } } - return super.onInterceptTouchEvent(ev) + return isInterceptClearScreenEvent(x, y) } private fun isInterceptClearScreenEvent(x: Int, y: Int): Boolean { - return isMoveForHorizontal(x, y) && !isAnimRunning() && isGreaterThanMinSize(mDownX, x) + return when (clearScreenMode) { + ClearScreenMode.QUICK_SCROLL -> { + val isIntercept = isMoveForHorizontal(x, y) && !isAnimRunning() && isGreaterThanMinSize(mDownX, x) + requestDisallowInterceptTouchEvent(isIntercept) + isIntercept + } + ClearScreenMode.SLOW_SCROLL -> { + val isIntercept = isMoveForHorizontal(x, y) && !isAnimRunning() || isScrolling + requestDisallowInterceptTouchEvent(isIntercept) + isIntercept + } + } } /** @@ -170,8 +194,20 @@ class ClearScreenView @JvmOverloads constructor(val mContext: Context, attrs: At } override fun onTouchEvent(event: MotionEvent): Boolean { + if (isAnimRunning()) return true + when (clearScreenMode) { + ClearScreenMode.QUICK_SCROLL -> { + handleQuickScrollMode(event) + } + ClearScreenMode.SLOW_SCROLL -> { + handleSlowScrollMode(event) + } + } + return true + } + + private fun handleQuickScrollMode(event: MotionEvent) { mVelocityTracker?.addMovement(event) - val x = event.x.toInt() when (event.action) { MotionEvent.ACTION_UP -> { mVelocityTracker?.computeCurrentVelocity(10) @@ -192,11 +228,58 @@ class ClearScreenView @JvmOverloads constructor(val mContext: Context, attrs: At if (translateX != 0) { mAnimator?.start() } - return true } } + } - return super.onTouchEvent(event) + private fun handleSlowScrollMode(event: MotionEvent) { + val x = event.x.toInt() + when (event.action) { + MotionEvent.ACTION_UP, MotionEvent.ACTION_CANCEL -> { + when (clearScreenStatus) { + ClearScreenStatus.NORMAL -> { + if (startTranslateX >= width / 2) { + translateX = width - startTranslateX + clearScreenStatus = ClearScreenStatus.NORMAL + } else { + translateX = -startTranslateX + clearScreenStatus = ClearScreenStatus.CLEARED + } + mAnimator?.start() + } + ClearScreenStatus.CLEARED -> { + if (startTranslateX >= width / 2) { + translateX = width - startTranslateX + clearScreenStatus = ClearScreenStatus.NORMAL + } else { + translateX = (-startTranslateX) + clearScreenStatus = ClearScreenStatus.CLEARED + } + mAnimator?.start() + } + } + } + MotionEvent.ACTION_MOVE -> { + translateX = 0 + val move = x - mDownX + when (clearScreenStatus) { + ClearScreenStatus.NORMAL -> { + val translate = if (x <= mDownX) 0 else move + startTranslateX = translate + if (translate != 0) { + translateChild(translate.toFloat()) + } + } + ClearScreenStatus.CLEARED -> { + val translate = if (x > mDownX) 0 else mDownX - x + startTranslateX = width - translate + if (startTranslateX != 0) { + translateChild(startTranslateX.toFloat()) + } + } + } + } + } } private fun setLeft2RightMoveTranslateX() { @@ -246,6 +329,7 @@ class ClearScreenView @JvmOverloads constructor(val mContext: Context, attrs: At } private fun translateChild(translate: Float) { + isScrolling = true for (view in listClearViews) { view.translationX = translate } From 6cb4418d4819c84d36d1c32736d7e2e84a5340b1 Mon Sep 17 00:00:00 2001 From: Allen Date: Thu, 28 Jan 2021 14:09:15 +0800 Subject: [PATCH 4/6] =?UTF-8?q?=E5=AE=8C=E5=96=84demo?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../activity/ClearScreenActivity.kt | 19 ++++++++++++++++++- .../main/res/layout/activity_clear_screen.xml | 14 ++++++++++++++ 2 files changed, 32 insertions(+), 1 deletion(-) diff --git a/app/src/main/java/com/allen/androidcustomview/activity/ClearScreenActivity.kt b/app/src/main/java/com/allen/androidcustomview/activity/ClearScreenActivity.kt index eb15592..d7fd747 100644 --- a/app/src/main/java/com/allen/androidcustomview/activity/ClearScreenActivity.kt +++ b/app/src/main/java/com/allen/androidcustomview/activity/ClearScreenActivity.kt @@ -2,7 +2,10 @@ package com.allen.androidcustomview.activity import android.os.Bundle import android.support.v7.app.AppCompatActivity +import android.widget.Toast import com.allen.androidcustomview.R +import com.allen.androidcustomview.widget.ClearScreenMode +import com.allen.androidcustomview.widget.ClearScreenView import kotlinx.android.synthetic.main.activity_clear_screen.* /** @@ -13,11 +16,25 @@ import kotlinx.android.synthetic.main.activity_clear_screen.* * desc : * */ -class ClearScreenActivity : AppCompatActivity() { +class ClearScreenActivity : AppCompatActivity(), ClearScreenView.OnClearScreenListener { override fun onCreate(savedInstanceState: Bundle?) { super.onCreate(savedInstanceState) setContentView(R.layout.activity_clear_screen) + clear_screen_container.addClearView(iv_clear_content) + + clear_screen_container.setOnClearScreenListener(this) + + btn_quick_clear.setOnClickListener { clear_screen_container.clearScreenMode = ClearScreenMode.QUICK_SCROLL } + btn_slow_clear.setOnClickListener { clear_screen_container.clearScreenMode = ClearScreenMode.SLOW_SCROLL } + } + + override fun onCleared() { + Toast.makeText(this, "清屏了", Toast.LENGTH_SHORT).show() + } + + override fun onRestored() { + Toast.makeText(this, "恢复了", Toast.LENGTH_SHORT).show() } } \ No newline at end of file diff --git a/app/src/main/res/layout/activity_clear_screen.xml b/app/src/main/res/layout/activity_clear_screen.xml index 00a87e6..675b590 100644 --- a/app/src/main/res/layout/activity_clear_screen.xml +++ b/app/src/main/res/layout/activity_clear_screen.xml @@ -22,5 +22,19 @@ android:gravity="center" android:scaleType="fitXY" android:src="@mipmap/live_bg" /> + +