Jelajahi Sumber

1.添加首次登陆新功能引导页

王鹏鹏 2 tahun lalu
induk
melakukan
ac58b45f52

+ 3 - 0
.idea/misc.xml

@@ -48,7 +48,10 @@
         <entry key="..\:/workspace/hcp-pad/home/src/main/res/drawable/shape_ract_gold.xml" value="0.2185" />
         <entry key="..\:/workspace/hcp-pad/home/src/main/res/layout/activity_home.xml" value="0.2" />
         <entry key="..\:/workspace/hcp-pad/home/src/main/res/layout/item_game.xml" value="0.16" />
+        <entry key="..\:/workspace/hcp-pad/home/src/main/res/layout/layout_fun_time.xml" value="0.1" />
         <entry key="..\:/workspace/hcp-pad/home/src/main/res/layout/layout_play_with_blue_porpoise.xml" value="0.136" />
+        <entry key="..\:/workspace/hcp-pad/home/src/main/res/layout/layout_play_with_blue_porpoises.xml" value="0.1" />
+        <entry key="..\:/workspace/hcp-pad/home/src/main/res/layout/layout_professional_evaluations.xml" value="0.1" />
         <entry key="..\:/workspace/hcp-pad/livebroadcast/src/main/res/drawable/bg_live_broadcast.xml" value="0.219" />
         <entry key="..\:/workspace/hcp-pad/livebroadcast/src/main/res/drawable/bg_live_broadcast_button.xml" value="0.219" />
         <entry key="..\:/workspace/hcp-pad/livebroadcast/src/main/res/drawable/bg_live_room.xml" value="0.219" />

+ 102 - 31
home/src/main/java/com/yingyangfly/home/activity/HomeActivity.kt

@@ -20,7 +20,10 @@ import com.yingyangfly.baselib.router.RouterUrlCommon
 import com.yingyangfly.baselib.utils.JumpUtil
 import com.yingyangfly.baselib.utils.User
 import com.yingyangfly.home.adapter.GameAdapter
-import com.yingyangfly.home.component.SimpleComponent
+import com.yingyangfly.home.component.ShowFunTimeViewComponent
+import com.yingyangfly.home.component.ShowHealthCounselingViewComponent
+import com.yingyangfly.home.component.ShowPlayPorpoiseViewComponent
+import com.yingyangfly.home.component.ShowProfessionalEvaluationViewComponent
 import com.yingyangfly.home.entity.HomePageMsgBean
 import com.yingyangfly.home.entity.Record
 import com.yingyangfly.home.net.XHomeServiceFactory
@@ -149,33 +152,7 @@ class HomeActivity : BaseMVVMActivity<ActivityHomeBinding, HomeViewModel>() {
     }
 
     override fun initData() {
-        if (TextUtils.equals("", User.getFirstLogin())) {
 
-        }
-        binding.tvPlayPorpoise.post {
-            addHightView()
-        }
-    }
-
-    /**
-     * 首次登陆添加引导窗
-     */
-    private fun addHightView() {
-        val builder = GuideBuilder()
-        builder.setTargetView(binding.tvPlayPorpoise)
-            .setAlpha(150)
-            .setHighTargetCorner(20)
-            .setHighTargetPadding(10)
-        builder.setOnVisibilityChangedListener(object : GuideBuilder.OnVisibilityChangedListener {
-            override fun onShown() {
-            }
-
-            override fun onDismiss() {
-            }
-        })
-        builder.addComponent(SimpleComponent())
-        val guide: Guide = builder.createGuide()
-        guide.show(this)
     }
 
     override fun onResume() {
@@ -187,8 +164,6 @@ class HomeActivity : BaseMVVMActivity<ActivityHomeBinding, HomeViewModel>() {
         //获取任务列表
         getFindMyTask()
         if (TextUtils.equals("0", User.getFirstLogin())) {
-            //第一次登录弹窗欢迎
-            User.saveFirstLogin("1")
             val taskDesn =
                 "欢迎" + User.getName() + "使用未来蓝豚康复平台!为您提供专业的认知康复支持和训练。帮助您提升认知能力,重建自信。小豚期待与您一同启程!"
             showTaskDialog(taskDesn, "")
@@ -330,8 +305,13 @@ class HomeActivity : BaseMVVMActivity<ActivityHomeBinding, HomeViewModel>() {
         taskFragment.setTaskDesn(taskDesn, id)
         taskFragment.onDialogClickListener = {
             if (id.isNullOrEmpty()) {
-                //获取任务状态弹窗
-                getSelectHomePageMsg()
+                if (TextUtils.equals("0", User.getFirstLogin())) {
+                    //第一次登录弹窗欢迎
+                    User.saveFirstLogin("1")
+                    binding.tvPlayPorpoise.post {
+                        showPlayPorpoiseView()
+                    }
+                }
             } else {
                 updateReadMsg(id)
             }
@@ -401,4 +381,95 @@ class HomeActivity : BaseMVVMActivity<ActivityHomeBinding, HomeViewModel>() {
                 "&playClass=" + bean.playClass + "&userToken=" + User.getToken()
         JumpUtil.jumpActivityWithUrl(RouterUrlCommon.WEB_VIEW_INTERACTION_JS, str, this)
     }
+
+    /**
+     * 首次登陆添加引导窗
+     */
+    private fun showPlayPorpoiseView() {
+        val builder = GuideBuilder()
+        builder.setTargetView(binding.tvPlayPorpoise)
+            .setAlpha(150)
+            .setHighTargetCorner(20)
+            .setHighTargetPadding(3)
+        builder.setOnVisibilityChangedListener(object : GuideBuilder.OnVisibilityChangedListener {
+            override fun onShown() {
+            }
+
+            override fun onDismiss() {
+                //获取任务状态弹窗
+                showProfessionalEvaluation()
+            }
+        })
+        builder.addComponent(ShowPlayPorpoiseViewComponent())
+        val guide: Guide = builder.createGuide()
+        guide.show(this)
+    }
+
+    /**
+     * 首次登陆添加引导窗
+     */
+    private fun showProfessionalEvaluation() {
+        val builder = GuideBuilder()
+        builder.setTargetView(binding.tvProfessionalEvaluation)
+            .setAlpha(150)
+            .setHighTargetCorner(20)
+            .setHighTargetPadding(3)
+        builder.setOnVisibilityChangedListener(object : GuideBuilder.OnVisibilityChangedListener {
+            override fun onShown() {
+            }
+
+            override fun onDismiss() {
+                showHealthCounseling()
+            }
+        })
+        builder.addComponent(ShowProfessionalEvaluationViewComponent())
+        val guide: Guide = builder.createGuide()
+        guide.show(this)
+    }
+
+    /**
+     * 首次登陆添加引导窗
+     */
+    private fun showHealthCounseling() {
+        val builder = GuideBuilder()
+        builder.setTargetView(binding.tvHealthCounseling)
+            .setAlpha(150)
+            .setHighTargetCorner(20)
+            .setHighTargetPadding(3)
+        builder.setOnVisibilityChangedListener(object : GuideBuilder.OnVisibilityChangedListener {
+            override fun onShown() {
+            }
+
+            override fun onDismiss() {
+                showFunTime()
+            }
+        })
+        builder.addComponent(ShowHealthCounselingViewComponent())
+        val guide: Guide = builder.createGuide()
+        guide.show(this)
+    }
+
+    /**
+     * 首次登陆添加引导窗
+     */
+    private fun showFunTime() {
+        val builder = GuideBuilder()
+        builder.setTargetView(binding.tvfunTime)
+            .setAlpha(150)
+            .setHighTargetCorner(20)
+            .setHighTargetPadding(3)
+        builder.setOnVisibilityChangedListener(object : GuideBuilder.OnVisibilityChangedListener {
+            override fun onShown() {
+            }
+
+            override fun onDismiss() {
+                //获取任务状态弹窗
+                getSelectHomePageMsg()
+            }
+        })
+        builder.addComponent(ShowFunTimeViewComponent())
+        val guide: Guide = builder.createGuide()
+        guide.show(this)
+    }
+
 }

+ 40 - 0
home/src/main/java/com/yingyangfly/home/component/ShowFunTimeViewComponent.java

@@ -0,0 +1,40 @@
+package com.yingyangfly.home.component;
+
+import android.view.LayoutInflater;
+import android.view.View;
+import android.widget.LinearLayout;
+
+import com.yingyang.home.R;
+import com.yingyangfly.baselib.guideview.Component;
+
+/**
+ * @author 王鹏鹏
+ */
+public class ShowFunTimeViewComponent implements Component {
+
+    @Override
+    public View getView(LayoutInflater inflater) {
+        LinearLayout ll = (LinearLayout) inflater.inflate(R.layout.layout_fun_time, null);
+        return ll;
+    }
+
+    @Override
+    public int getAnchor() {
+        return Component.ANCHOR_LEFT;
+    }
+
+    @Override
+    public int getFitPosition() {
+        return Component.FIT_END;
+    }
+
+    @Override
+    public int getXOffset() {
+        return 0;
+    }
+
+    @Override
+    public int getYOffset() {
+        return 10;
+    }
+}

+ 40 - 0
home/src/main/java/com/yingyangfly/home/component/ShowHealthCounselingViewComponent.java

@@ -0,0 +1,40 @@
+package com.yingyangfly.home.component;
+
+import android.view.LayoutInflater;
+import android.view.View;
+import android.widget.LinearLayout;
+
+import com.yingyang.home.R;
+import com.yingyangfly.baselib.guideview.Component;
+
+/**
+ * @author 王鹏鹏
+ */
+public class ShowHealthCounselingViewComponent implements Component {
+
+    @Override
+    public View getView(LayoutInflater inflater) {
+        LinearLayout ll = (LinearLayout) inflater.inflate(R.layout.layout_health_counseling, null);
+        return ll;
+    }
+
+    @Override
+    public int getAnchor() {
+        return Component.ANCHOR_LEFT;
+    }
+
+    @Override
+    public int getFitPosition() {
+        return Component.FIT_END;
+    }
+
+    @Override
+    public int getXOffset() {
+        return 0;
+    }
+
+    @Override
+    public int getYOffset() {
+        return 10;
+    }
+}

+ 4 - 1
home/src/main/java/com/yingyangfly/home/component/SimpleComponent.java → home/src/main/java/com/yingyangfly/home/component/ShowPlayPorpoiseViewComponent.java

@@ -7,7 +7,10 @@ import android.widget.LinearLayout;
 import com.yingyang.home.R;
 import com.yingyangfly.baselib.guideview.Component;
 
-public class SimpleComponent implements Component {
+/**
+ * @author 王鹏鹏
+ */
+public class ShowPlayPorpoiseViewComponent implements Component {
 
     @Override
     public View getView(LayoutInflater inflater) {

+ 40 - 0
home/src/main/java/com/yingyangfly/home/component/ShowProfessionalEvaluationViewComponent.java

@@ -0,0 +1,40 @@
+package com.yingyangfly.home.component;
+
+import android.view.LayoutInflater;
+import android.view.View;
+import android.widget.LinearLayout;
+
+import com.yingyang.home.R;
+import com.yingyangfly.baselib.guideview.Component;
+
+/**
+ * @author 王鹏鹏
+ */
+public class ShowProfessionalEvaluationViewComponent implements Component {
+
+    @Override
+    public View getView(LayoutInflater inflater) {
+        LinearLayout ll = (LinearLayout) inflater.inflate(R.layout.layout_professional_evaluation, null);
+        return ll;
+    }
+
+    @Override
+    public int getAnchor() {
+        return Component.ANCHOR_LEFT;
+    }
+
+    @Override
+    public int getFitPosition() {
+        return Component.FIT_END;
+    }
+
+    @Override
+    public int getXOffset() {
+        return 0;
+    }
+
+    @Override
+    public int getYOffset() {
+        return 10;
+    }
+}

+ 14 - 0
home/src/main/res/layout/layout_fun_time.xml

@@ -0,0 +1,14 @@
+<?xml version="1.0" encoding="utf-8"?>
+<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
+    xmlns:tools="http://schemas.android.com/tools"
+    android:layout_width="wrap_content"
+    android:layout_height="wrap_content"
+    tools:ignore="ResourceName">
+
+    <androidx.appcompat.widget.AppCompatImageView
+        android:layout_width="@dimen/divider_525px"
+        android:layout_height="@dimen/divider_253px"
+        android:background="@mipmap/icon_bg_fun_time"
+        android:scaleType="centerInside" />
+
+</LinearLayout>

+ 14 - 0
home/src/main/res/layout/layout_health_counseling.xml

@@ -0,0 +1,14 @@
+<?xml version="1.0" encoding="utf-8"?>
+<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
+    xmlns:tools="http://schemas.android.com/tools"
+    android:layout_width="wrap_content"
+    android:layout_height="wrap_content"
+    tools:ignore="ResourceName">
+
+    <androidx.appcompat.widget.AppCompatImageView
+        android:layout_width="@dimen/divider_525px"
+        android:layout_height="@dimen/divider_253px"
+        android:background="@mipmap/icon_health_counseling"
+        android:scaleType="centerInside" />
+
+</LinearLayout>

+ 4 - 4
home/src/main/res/layout/layout_play_with_blue_porpoise.xml

@@ -6,9 +6,9 @@
     tools:ignore="ResourceName">
 
     <androidx.appcompat.widget.AppCompatImageView
-        android:layout_width="525px"
-        android:layout_height="253px"
-        android:scaleType="centerInside"
-        android:background="@mipmap/icon_play_with_blue_porpoise" />
+        android:layout_width="@dimen/divider_525px"
+        android:layout_height="@dimen/divider_253px"
+        android:background="@mipmap/icon_play_with_blue_porpoise"
+        android:scaleType="centerInside" />
 
 </LinearLayout>

+ 14 - 0
home/src/main/res/layout/layout_professional_evaluation.xml

@@ -0,0 +1,14 @@
+<?xml version="1.0" encoding="utf-8"?>
+<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
+    xmlns:tools="http://schemas.android.com/tools"
+    android:layout_width="wrap_content"
+    android:layout_height="wrap_content"
+    tools:ignore="ResourceName">
+
+    <androidx.appcompat.widget.AppCompatImageView
+        android:layout_width="@dimen/divider_525px"
+        android:layout_height="@dimen/divider_253px"
+        android:background="@mipmap/icon_professional_evaluation"
+        android:scaleType="centerInside" />
+
+</LinearLayout>

TEMPAT SAMPAH
home/src/main/res/mipmap-xxhdpi/icon_bg_fun_time.png


TEMPAT SAMPAH
home/src/main/res/mipmap-xxhdpi/icon_health_counseling.png


TEMPAT SAMPAH
home/src/main/res/mipmap-xxhdpi/icon_professional_evaluation.png


+ 2 - 0
home/src/main/res/values/dimens.xml

@@ -6,6 +6,7 @@
     <dimen name="divider_616px" tools:ignore="ResourceName">616px</dimen>
     <dimen name="divider_561px" tools:ignore="ResourceName">561px</dimen>
     <dimen name="divider_533px" tools:ignore="ResourceName">533px</dimen>
+    <dimen name="divider_525px" tools:ignore="ResourceName">525px</dimen>
     <dimen name="divider_443px" tools:ignore="ResourceName">443px</dimen>
     <dimen name="divider_440px" tools:ignore="ResourceName">440px</dimen>
     <dimen name="divider_432px" tools:ignore="ResourceName">432px</dimen>
@@ -37,6 +38,7 @@
     <dimen name="divider_264px" tools:ignore="ResourceName">264px</dimen>
     <dimen name="divider_260px" tools:ignore="ResourceName">260px</dimen>
     <dimen name="divider_255px" tools:ignore="ResourceName">255px</dimen>
+    <dimen name="divider_253px" tools:ignore="ResourceName">253px</dimen>
     <dimen name="divider_250px" tools:ignore="ResourceName">250px</dimen>
     <dimen name="divider_249px" tools:ignore="ResourceName">249px</dimen>
     <dimen name="divider_245px" tools:ignore="ResourceName">245px</dimen>