Prechádzať zdrojové kódy

呼叫信息更新时增加动画效果

weizhengliang 3 rokov pred
rodič
commit
22d072af28

+ 9 - 1
lcd_board/src/main/java/com/wdkl/lcd_board/activity/MainActivity.kt

@@ -13,6 +13,8 @@ import android.os.Message
 import android.text.TextUtils
 import android.util.Log
 import android.view.View
+import android.view.animation.Animation
+import android.view.animation.AnimationUtils
 import com.enation.javashop.android.jrouter.external.annotation.Router
 import com.enation.javashop.net.engine.model.NetState
 import com.google.gson.Gson
@@ -67,6 +69,7 @@ class MainActivity :BaseActivity<MainActivityPresenter, ActivityMainLayoutBindin
 
     private val QR_CODE_PATH = "http://m.wdklian.com/care/apk/care.user?type=NCS_DEVICE"
     private lateinit var receiver: TimeReceiver
+    private lateinit var animationIn: Animation
 
     private var updating :Boolean = false
     private var initialized :Boolean = false
@@ -86,7 +89,7 @@ class MainActivity :BaseActivity<MainActivityPresenter, ActivityMainLayoutBindin
     companion object {
         private const val NEW_CALL_WHAT = 1001
         private const val UPDATE_CALL_WHAT = 1002
-        private const val DELAY_TIME: Long = 5000
+        private const val DELAY_TIME: Long = 8000
 
         private const val BED_CALL = " 呼叫"
         private const val SOS_CALL = " 紧急呼叫"
@@ -154,6 +157,7 @@ class MainActivity :BaseActivity<MainActivityPresenter, ActivityMainLayoutBindin
 
         checkServer()
 
+        animationIn = AnimationUtils.loadAnimation(this@MainActivity, R.anim.slide_in)
 
         //test
         /*handler.postDelayed({
@@ -659,6 +663,7 @@ class MainActivity :BaseActivity<MainActivityPresenter, ActivityMainLayoutBindin
                             handlerMemoryActivity.curProgramIndex = 0
                             handlerMemoryActivity.tv_call_info.setTextColor(Color.RED)
                             handlerMemoryActivity.tv_call_info.setText(handlerMemoryActivity.programs.get(0).getText())
+                            handlerMemoryActivity.tv_call_info.startAnimation(handlerMemoryActivity.animationIn)
                             handlerMemoryActivity.callHandler.removeMessages(UPDATE_CALL_WHAT)
                             handlerMemoryActivity.callHandler.sendEmptyMessageDelayed(UPDATE_CALL_WHAT, DELAY_TIME)
                         }
@@ -670,6 +675,7 @@ class MainActivity :BaseActivity<MainActivityPresenter, ActivityMainLayoutBindin
                         if (handlerMemoryActivity.curProgramIndex < handlerMemoryActivity.programs.size) {
                             handlerMemoryActivity.tv_call_info.setTextColor(Color.RED)
                             handlerMemoryActivity.tv_call_info.setText(handlerMemoryActivity.programs.get(handlerMemoryActivity.curProgramIndex).getText())
+                            handlerMemoryActivity.tv_call_info.startAnimation(handlerMemoryActivity.animationIn)
                             handlerMemoryActivity.callHandler.sendEmptyMessageDelayed(UPDATE_CALL_WHAT, DELAY_TIME)
                         } else {
                             handlerMemoryActivity.curProgramIndex = 0
@@ -678,11 +684,13 @@ class MainActivity :BaseActivity<MainActivityPresenter, ActivityMainLayoutBindin
                                 if (text != handlerMemoryActivity.tv_call_info.getText().toString()) {
                                     handlerMemoryActivity.tv_call_info.setTextColor(Color.RED)
                                     handlerMemoryActivity.tv_call_info.setText(handlerMemoryActivity.programs.get(handlerMemoryActivity.curProgramIndex).getText())
+                                    handlerMemoryActivity.tv_call_info.startAnimation(handlerMemoryActivity.animationIn)
                                 }
                                 handlerMemoryActivity.callHandler.sendEmptyMessageDelayed(UPDATE_CALL_WHAT, DELAY_TIME)
                             } else {
                                 handlerMemoryActivity.tv_call_info.setTextColor(Color.WHITE)
                                 handlerMemoryActivity.tv_call_info.setText("祝   您   安   康")
+                                handlerMemoryActivity.tv_call_info.startAnimation(handlerMemoryActivity.animationIn)
                             }
                         }
                     }

+ 7 - 0
lcd_board/src/main/res/anim/slide_in.xml

@@ -0,0 +1,7 @@
+<?xml version="1.0" encoding="utf-8"?>
+<set xmlns:android="http://schemas.android.com/apk/res/android">
+    <translate
+        android:duration="300"
+        android:fromYDelta="100%p"
+        android:toYDelta="0" />
+</set>

+ 7 - 0
lcd_board/src/main/res/anim/slide_out.xml

@@ -0,0 +1,7 @@
+<?xml version="1.0" encoding="utf-8"?>
+<set xmlns:android="http://schemas.android.com/apk/res/android">
+    <translate
+        android:duration="200"
+        android:fromYDelta="0"
+        android:toYDelta="-100%p" />
+</set>