Selaa lähdekoodia

1.游戏结果弹窗页面游戏分数添加动效

王鹏鹏 2 vuotta sitten
vanhempi
commit
9077b753cc

+ 1 - 1
.idea/misc.xml

@@ -524,7 +524,7 @@
         <entry key="..\:/workspace/hcp-pads/game/src/main/res/layout/dialog_count_down.xml" value="0.5676056338028169" />
         <entry key="..\:/workspace/hcp-pads/game/src/main/res/layout/dialog_exit_game.xml" value="0.2" />
         <entry key="..\:/workspace/hcp-pads/game/src/main/res/layout/dialog_game_loading.xml" value="0.23697916666666666" />
-        <entry key="..\:/workspace/hcp-pads/game/src/main/res/layout/dialog_game_result.xml" value="0.2" />
+        <entry key="..\:/workspace/hcp-pads/game/src/main/res/layout/dialog_game_result.xml" value="0.536" />
         <entry key="..\:/workspace/hcp-pads/game/src/main/res/layout/item_game_result.xml" value="0.23697916666666666" />
         <entry key="..\:/workspace/hcp-pads/healthconsultation/src/main/res/drawable/bg_btn_doctor_details.xml" value="0.151" />
         <entry key="..\:/workspace/hcp-pads/healthconsultation/src/main/res/drawable/bg_pay_order.xml" value="0.147" />

+ 10 - 6
game/src/main/java/com/yingyangfly/game/dialog/GameResultDialog.kt

@@ -15,6 +15,7 @@ import com.yingyangfly.baselib.ext.setOnSingleClickListener
 import com.yingyangfly.baselib.player.VoicePlayer
 import com.yingyangfly.baselib.utils.ViewTool
 import com.yingyangfly.game.R
+import com.yingyangfly.game.widget.NumberAnimTextView
 
 /**
  * 游戏结果弹窗
@@ -23,9 +24,9 @@ class GameResultDialog : DialogFragment() {
 
     private var content: Context? = null
     private var imageGameResult: AppCompatImageView? = null
-    private var tvGameLevel: AppCompatTextView? = null
-    private var tvTotalGameScore: AppCompatTextView? = null
-    private var tvGameScore: AppCompatTextView? = null
+    private var tvGameLevel: NumberAnimTextView? = null
+    private var tvTotalGameScore: NumberAnimTextView? = null
+    private var tvGameScore: NumberAnimTextView? = null
     private var btnHome: AppCompatImageView? = null
     private var btnContinueThisLevel: AppCompatImageView? = null
     private var imageType: AppCompatImageView? = null
@@ -116,9 +117,12 @@ class GameResultDialog : DialogFragment() {
 
     @SuppressLint("SetTextI18n")
     private fun initData() {
-        tvGameLevel?.text = "当前关卡:第$curLevel" + "关"
-        tvTotalGameScore?.text = "累计得分:" + totalScore + "分"
-        tvGameScore?.text = "本关得分:" + curLevelScore + "分"
+        tvGameLevel?.setEnableAnim(true)
+        tvGameLevel?.setNumberString(curLevel)
+        tvTotalGameScore?.setEnableAnim(true)
+        tvTotalGameScore?.setNumberString(totalScore)
+        tvGameScore?.setEnableAnim(true)
+        tvGameScore?.setNumberString(curLevelScore)
         when (isPass) {
             // 0成功 1失败 2退出 3通关结算 4超时失败
             "0" -> {

+ 115 - 21
game/src/main/res/layout/dialog_game_result.xml

@@ -25,42 +25,136 @@
             android:layout_marginTop="@dimen/divider_230px"
             android:background="@mipmap/icon_game_result_dialog">
 
-            <androidx.appcompat.widget.AppCompatTextView
-                android:id="@+id/tvGameLevel"
+            <LinearLayout
+                android:id="@+id/gameLevelLayout"
                 android:layout_width="wrap_content"
                 android:layout_height="wrap_content"
                 android:layout_marginTop="@dimen/divider_80px"
-                android:textColor="@color/color_FF5F3100"
-                android:textSize="@dimen/divider_42px"
-                android:textStyle="bold"
+                android:gravity="center"
+                android:orientation="horizontal"
                 app:layout_constraintEnd_toEndOf="parent"
                 app:layout_constraintStart_toStartOf="parent"
-                app:layout_constraintTop_toTopOf="parent"
-                tools:text="当前关卡:第二关" />
+                app:layout_constraintTop_toTopOf="parent">
 
-            <androidx.appcompat.widget.AppCompatTextView
-                android:id="@+id/tvTotalGameScore"
+                <androidx.appcompat.widget.AppCompatTextView
+                    android:layout_width="wrap_content"
+                    android:layout_height="wrap_content"
+                    android:fontFamily="@font/lcb"
+                    android:gravity="center"
+                    android:includeFontPadding="false"
+                    android:text="@string/current_level"
+                    android:textColor="@color/color_FF5F3100"
+                    android:textSize="@dimen/divider_42px" />
+
+                <com.yingyangfly.game.widget.NumberAnimTextView
+                    android:id="@+id/tvGameLevel"
+                    android:layout_width="wrap_content"
+                    android:layout_height="wrap_content"
+                    android:fontFamily="@font/lcb"
+                    android:gravity="center"
+                    android:includeFontPadding="false"
+                    android:textColor="@color/color_FF5F3100"
+                    android:textSize="@dimen/divider_42px"
+                    tools:text="2" />
+
+                <androidx.appcompat.widget.AppCompatTextView
+                    android:layout_width="wrap_content"
+                    android:layout_height="wrap_content"
+                    android:fontFamily="@font/lcb"
+                    android:gravity="center"
+                    android:includeFontPadding="false"
+                    android:text="@string/level"
+                    android:textColor="@color/color_FF5F3100"
+                    android:textSize="@dimen/divider_42px" />
+
+            </LinearLayout>
+
+            <LinearLayout
+                android:id="@+id/totalGameScoreLayout"
                 android:layout_width="wrap_content"
                 android:layout_height="wrap_content"
                 android:layout_marginStart="@dimen/divider_69px"
                 android:layout_marginTop="@dimen/divider_15px"
-                android:textColor="@color/color_FF5F3100"
-                android:textSize="@dimen/divider_32px"
-                android:textStyle="bold"
+                android:gravity="center"
+                android:orientation="horizontal"
                 app:layout_constraintStart_toStartOf="parent"
-                app:layout_constraintTop_toBottomOf="@+id/tvGameLevel" />
+                app:layout_constraintTop_toBottomOf="@+id/gameLevelLayout">
+
+                <androidx.appcompat.widget.AppCompatTextView
+                    android:layout_width="wrap_content"
+                    android:layout_height="wrap_content"
+                    android:fontFamily="@font/lcb"
+                    android:gravity="center"
+                    android:includeFontPadding="false"
+                    android:text="@string/cumulative_score"
+                    android:textColor="@color/color_FF5F3100"
+                    android:textSize="@dimen/divider_32px" />
+
+                <com.yingyangfly.game.widget.NumberAnimTextView
+                    android:id="@+id/tvTotalGameScore"
+                    android:layout_width="wrap_content"
+                    android:layout_height="wrap_content"
+                    android:fontFamily="@font/lcb"
+                    android:gravity="center"
+                    android:includeFontPadding="false"
+                    android:textColor="@color/color_FF5F3100"
+                    android:textSize="@dimen/divider_32px" />
+
+                <androidx.appcompat.widget.AppCompatTextView
+                    android:layout_width="wrap_content"
+                    android:layout_height="wrap_content"
+                    android:fontFamily="@font/lcb"
+                    android:gravity="center"
+                    android:includeFontPadding="false"
+                    android:text="@string/scores"
+                    android:textColor="@color/color_FF5F3100"
+                    android:textSize="@dimen/divider_32px" />
 
-            <androidx.appcompat.widget.AppCompatTextView
-                android:id="@+id/tvGameScore"
+            </LinearLayout>
+
+            <LinearLayout
+                android:id="@+id/gameScoreLayout"
                 android:layout_width="wrap_content"
                 android:layout_height="wrap_content"
                 android:layout_marginTop="@dimen/divider_15px"
                 android:layout_marginEnd="@dimen/divider_70px"
-                android:textColor="@color/color_FF5F3100"
-                android:textSize="@dimen/divider_32px"
-                android:textStyle="bold"
+                android:gravity="center"
+                android:orientation="horizontal"
                 app:layout_constraintEnd_toEndOf="parent"
-                app:layout_constraintTop_toBottomOf="@+id/tvGameLevel" />
+                app:layout_constraintTop_toBottomOf="@+id/gameLevelLayout">
+
+                <androidx.appcompat.widget.AppCompatTextView
+                    android:layout_width="wrap_content"
+                    android:layout_height="wrap_content"
+                    android:fontFamily="@font/lcb"
+                    android:gravity="center"
+                    android:includeFontPadding="false"
+                    android:text="@string/this_level_score"
+                    android:textColor="@color/color_FF5F3100"
+                    android:textSize="@dimen/divider_32px" />
+
+                <com.yingyangfly.game.widget.NumberAnimTextView
+                    android:id="@+id/tvGameScore"
+                    android:layout_width="wrap_content"
+                    android:layout_height="wrap_content"
+                    android:fontFamily="@font/lcb"
+                    android:gravity="center"
+                    android:includeFontPadding="false"
+                    android:textColor="@color/color_FF5F3100"
+                    android:textSize="@dimen/divider_32px" />
+
+                <androidx.appcompat.widget.AppCompatTextView
+                    android:layout_width="wrap_content"
+                    android:layout_height="wrap_content"
+                    android:fontFamily="@font/lcb"
+                    android:gravity="center"
+                    android:includeFontPadding="false"
+                    android:text="@string/scores"
+                    android:textColor="@color/color_FF5F3100"
+                    android:textSize="@dimen/divider_32px" />
+
+            </LinearLayout>
+
 
             <androidx.appcompat.widget.AppCompatImageView
                 android:id="@+id/btnHome"
@@ -70,7 +164,7 @@
                 android:background="@mipmap/icon_game_result_back_home"
                 android:scaleType="centerInside"
                 app:layout_constraintStart_toStartOf="parent"
-                app:layout_constraintTop_toBottomOf="@+id/tvTotalGameScore" />
+                app:layout_constraintTop_toBottomOf="@+id/totalGameScoreLayout" />
 
             <androidx.appcompat.widget.AppCompatImageView
                 android:id="@+id/btnContinueThisLevel"
@@ -78,7 +172,7 @@
                 android:layout_height="@dimen/divider_163px"
                 android:scaleType="centerInside"
                 app:layout_constraintStart_toEndOf="@+id/btnHome"
-                app:layout_constraintTop_toBottomOf="@+id/tvTotalGameScore" />
+                app:layout_constraintTop_toBottomOf="@+id/totalGameScoreLayout" />
         </androidx.constraintlayout.widget.ConstraintLayout>
 
         <androidx.appcompat.widget.AppCompatImageView

+ 2 - 0
game/src/main/res/values/strings.xml

@@ -21,4 +21,6 @@
     <string name="cumulative_score" tools:ignore="ResourceName">累计得分:</string>
     <string name="scores" tools:ignore="ResourceName">分</string>
     <string name="this_level_score" tools:ignore="ResourceName">本关得分:</string>
+    <string name="current_level" tools:ignore="ResourceName">当前关卡:第</string>
+    <string name="level" tools:ignore="ResourceName">关</string>
 </resources>