Parcourir la source

1.添加获取moca试题库module

王鹏鹏 il y a 2 ans
Parent
commit
d6f92fbff4

+ 2 - 1
.idea/misc.xml

@@ -133,11 +133,12 @@
         <entry key="..\:/workspace/hcp-pad/moca/src/main/res/layout/fragment_record_result.xml" value="0.23697916666666666" />
         <entry key="..\:/workspace/hcp-pad/moca/src/main/res/layout/fragment_signature.xml" value="0.23697916666666666" />
         <entry key="..\:/workspace/hcp-pad/moca/src/main/res/layout/fragment_sound_record.xml" value="0.4" />
-        <entry key="..\:/workspace/hcp-pad/moca/src/main/res/layout/fragment_verify_answers.xml" value="0.22239583333333332" />
+        <entry key="..\:/workspace/hcp-pad/moca/src/main/res/layout/fragment_verify_answers.xml" value="0.4" />
         <entry key="..\:/workspace/hcp-pad/moca/src/main/res/layout/item_choice.xml" value="0.23697916666666666" />
         <entry key="..\:/workspace/hcp-pad/moca/src/main/res/layout/item_moca_choice.xml" value="0.23697916666666666" />
         <entry key="..\:/workspace/hcp-pad/moca/src/main/res/layout/item_number.xml" value="0.23697916666666666" />
         <entry key="..\:/workspace/hcp-pad/moca/src/main/res/layout/item_selected_item.xml" value="0.23697916666666666" />
+        <entry key="..\:/workspace/hcp-pad/moca/src/main/res/layout/item_verify_answers.xml" value="0.8" />
         <entry key="..\:/workspace/hcp-pad/personalcenter/src/main/res/drawable/bg_center.xml" value="0.219" />
         <entry key="..\:/workspace/hcp-pad/personalcenter/src/main/res/drawable/bg_common_head_layout.xml" value="0.219" />
         <entry key="..\:/workspace/hcp-pad/personalcenter/src/main/res/drawable/bg_personal_center.xml" value="0.219" />

+ 20 - 0
moca/src/main/java/com/yingyangfly/moca/adapter/VerifyAnswersAdapter.kt

@@ -0,0 +1,20 @@
+package com.yingyangfly.moca.adapter
+
+import com.yingyang.moca.R
+import com.yingyang.moca.databinding.ItemVerifyAnswersBinding
+import com.yingyangfly.baselib.adapter.BaseDataBindingAdapter
+import com.yingyangfly.baselib.db.QuestionsBean
+
+/**
+ * 画钟表判断
+ */
+class VerifyAnswersAdapter(override val layoutId: Int = R.layout.item_verify_answers) :
+    BaseDataBindingAdapter<QuestionsBean, ItemVerifyAnswersBinding>() {
+    override fun onBindViewHolder(
+        binding: ItemVerifyAnswersBinding,
+        item: QuestionsBean,
+        position: Int
+    ) {
+        binding.data = item
+    }
+}

+ 10 - 2
moca/src/main/java/com/yingyangfly/moca/drawdesign/DrawDesignFragment.kt

@@ -1,6 +1,8 @@
 package com.yingyangfly.moca.drawdesign
 
+import android.graphics.Bitmap
 import android.graphics.Color
+import android.os.Bundle
 import android.text.Html
 import android.text.SpannableString
 import android.text.Spanned
@@ -24,12 +26,15 @@ class DrawDesignFragment : BaseFragment<FragmentDrawDesignBinding>() {
                 ForegroundColorSpan(Color.parseColor("#FF4174FF")),
                 27, spannableString.length, Spanned.SPAN_EXCLUSIVE_EXCLUSIVE
             )
-            tvTitle.text =spannableString
+            tvTitle.text = spannableString
         }
     }
 
     override fun initListener() {
         binding {
+            rubberLayout.setOnSingleClickListener {
+                signatureView.clear()
+            }
             btnPrevious.setOnSingleClickListener {
                 val controller = Navigation.findNavController(it)
                 val bundle = bundleOf("questionId" to 33)
@@ -39,8 +44,11 @@ class DrawDesignFragment : BaseFragment<FragmentDrawDesignBinding>() {
                 )
             }
             btnNext.setOnSingleClickListener {
+                val bundle = Bundle()
+                bundle.putInt("questionId", 38)
+                val bitmap: Bitmap = signatureView.getCachebBitmaps()
+                bundle.putParcelable("bitmap", bitmap)
                 val controller = Navigation.findNavController(it)
-                val bundle = bundleOf("questionId" to 38)
                 controller.navigate(
                     R.id.action_drawDesignFragment_to_verifyAnswersFragment,
                     bundle

+ 45 - 2
moca/src/main/java/com/yingyangfly/moca/drawdesign/VerifyAnswersFragment.kt

@@ -1,12 +1,18 @@
 package com.yingyangfly.moca.drawdesign
 
+import android.graphics.Bitmap
+import android.graphics.drawable.BitmapDrawable
+import android.graphics.drawable.Drawable
 import android.os.Bundle
 import androidx.core.os.bundleOf
 import androidx.navigation.Navigation
 import com.yingyang.moca.R
 import com.yingyang.moca.databinding.FragmentVerifyAnswersBinding
 import com.yingyangfly.baselib.base.BaseFragment
+import com.yingyangfly.baselib.db.QuestionsBean
 import com.yingyangfly.baselib.ext.setOnSingleClickListener
+import com.yingyangfly.baselib.utils.ImageUtil
+import com.yingyangfly.moca.adapter.VerifyAnswersAdapter
 
 /**
  * 验证钟表结果
@@ -16,15 +22,21 @@ class VerifyAnswersFragment : BaseFragment<FragmentVerifyAnswersBinding>() {
     /**
      * 问题id
      */
-    var questionId = 0
+    private var questionId = 0
+    private var bitmap: Bitmap? = null
+    private val adapter by lazy { VerifyAnswersAdapter() }
+    private val choiceItemList = mutableListOf<QuestionsBean>()
 
     override fun onCreate(savedInstanceState: Bundle?) {
         questionId = arguments?.getInt("questionId") ?: 33
+        bitmap = arguments?.getParcelable("bitmap")
         super.onCreate(savedInstanceState)
     }
 
     override fun initViews() {
-
+        binding {
+            rvChoice.adapter = adapter
+        }
     }
 
     override fun initListener() {
@@ -51,4 +63,35 @@ class VerifyAnswersFragment : BaseFragment<FragmentVerifyAnswersBinding>() {
     override fun initData() {
 
     }
+
+    override fun onResume() {
+        super.onResume()
+        loadData()
+    }
+
+    private fun loadData() {
+        if (bitmap != null) {
+            val drawable: Drawable = BitmapDrawable(bitmap)
+            ImageUtil.loadUrl(mContext, drawable, binding.designsImage)
+        }
+
+        choiceItemList.clear()
+        if (dao != null) {
+            val firstquestion = dao?.getQuestion(questionId)
+            if (firstquestion != null) {
+                choiceItemList.add(firstquestion)
+            }
+            val secondQuestionnId = questionId + 1
+            val secondQuestion = dao?.getQuestion(secondQuestionnId)
+            if (secondQuestion != null) {
+                choiceItemList.add(secondQuestion)
+            }
+            val thirdQuestionId = questionId + 2
+            val thirdQuestion = dao?.getQuestion(thirdQuestionId)
+            if (thirdQuestion != null) {
+                choiceItemList.add(thirdQuestion)
+            }
+        }
+        adapter.setData(choiceItemList)
+    }
 }

+ 100 - 0
moca/src/main/res/layout/fragment_verify_answers.xml

@@ -8,6 +8,106 @@
         android:layout_width="match_parent"
         android:layout_height="match_parent">
 
+        <androidx.appcompat.widget.AppCompatTextView
+            android:id="@+id/tvTitle"
+            android:layout_width="match_parent"
+            android:layout_height="wrap_content"
+            android:layout_marginStart="@dimen/divider_140px"
+            android:layout_marginTop="@dimen/divider_27px"
+            android:layout_marginEnd="@dimen/divider_140px"
+            android:gravity="center"
+            android:text="@string/if_subjects_have_drawn_following_content"
+            android:textColor="@color/color_FF222222"
+            android:textSize="@dimen/divider_34px"
+            android:textStyle="bold"
+            app:layout_constraintEnd_toEndOf="parent"
+            app:layout_constraintStart_toStartOf="parent"
+            app:layout_constraintTop_toTopOf="parent" />
+
+        <com.google.android.material.card.MaterialCardView
+            android:id="@+id/designsLayout"
+            android:layout_width="@dimen/divider_245px"
+            android:layout_height="@dimen/divider_245px"
+            android:layout_marginStart="@dimen/divider_38px"
+            android:layout_marginBottom="@dimen/divider_60px"
+            android:theme="@style/Theme.MaterialComponents.NoActionBar"
+            app:cardBackgroundColor="@android:color/white"
+            app:cardCornerRadius="@dimen/divider_20px"
+            app:layout_constraintBottom_toBottomOf="parent"
+            app:layout_constraintStart_toStartOf="parent"
+            app:layout_constraintTop_toTopOf="parent"
+            app:strokeColor="@color/color_FF979797"
+            app:strokeWidth="@dimen/divider_1px">
+
+            <androidx.appcompat.widget.AppCompatImageView
+                android:id="@+id/designsImage"
+                android:layout_width="@dimen/divider_240px"
+                android:layout_height="@dimen/divider_240px"
+                android:layout_gravity="center"
+                app:layout_constraintStart_toStartOf="parent"
+                app:layout_constraintTop_toBottomOf="@+id/tvTitle" />
+
+        </com.google.android.material.card.MaterialCardView>
+
+        <com.google.android.material.card.MaterialCardView
+            android:id="@+id/contentLayout"
+            android:layout_width="wrap_content"
+            android:layout_height="wrap_content"
+            android:layout_marginTop="@dimen/divider_32px"
+            android:minWidth="@dimen/divider_620px"
+            android:minHeight="@dimen/divider_264px"
+            android:theme="@style/Theme.MaterialComponents.NoActionBar"
+            app:cardBackgroundColor="@android:color/white"
+            app:cardCornerRadius="@dimen/divider_20px"
+            app:layout_constraintEnd_toEndOf="parent"
+            app:layout_constraintStart_toEndOf="@+id/designsLayout"
+            app:layout_constraintTop_toBottomOf="@+id/tvTitle"
+            app:strokeColor="@color/color_FF979797"
+            app:strokeWidth="@dimen/divider_1px">
+
+            <LinearLayout
+                android:layout_width="match_parent"
+                android:layout_height="match_parent"
+                android:gravity="center_vertical"
+                android:orientation="horizontal">
+
+                <LinearLayout
+                    android:layout_width="@dimen/divider_191px"
+                    android:layout_height="match_parent"
+                    android:background="@color/color_FF4A76FF"
+                    android:gravity="center"
+                    android:orientation="vertical">
+
+                    <androidx.appcompat.widget.AppCompatImageView
+                        android:layout_width="@dimen/divider_65px"
+                        android:layout_height="@dimen/divider_86px"
+                        android:layout_gravity="center"
+                        android:background="@mipmap/icon_doctor_head" />
+
+                    <androidx.appcompat.widget.AppCompatTextView
+                        android:id="@+id/tvYear"
+                        android:layout_width="match_parent"
+                        android:layout_height="wrap_content"
+                        android:layout_marginTop="@dimen/divider_31px"
+                        android:background="@color/color_FF4A76FF"
+                        android:gravity="center_horizontal"
+                        android:text="@string/staff_judgment"
+                        android:textColor="@android:color/white"
+                        android:textSize="@dimen/divider_24px" />
+
+                </LinearLayout>
+
+                <androidx.recyclerview.widget.RecyclerView
+                    android:id="@+id/rvChoice"
+                    android:layout_width="match_parent"
+                    android:layout_height="match_parent"
+                    android:layout_marginTop="@dimen/divider_15px"
+                    android:layout_marginBottom="@dimen/divider_23px"
+                    app:layoutManager="androidx.recyclerview.widget.LinearLayoutManager" />
+
+            </LinearLayout>
+        </com.google.android.material.card.MaterialCardView>
+
         <androidx.appcompat.widget.AppCompatButton
             android:id="@+id/btnPrevious"
             android:layout_width="@dimen/divider_240px"

+ 86 - 0
moca/src/main/res/layout/item_verify_answers.xml

@@ -0,0 +1,86 @@
+<?xml version="1.0" encoding="utf-8"?>
+<layout xmlns:android="http://schemas.android.com/apk/res/android"
+    xmlns:app="http://schemas.android.com/apk/res-auto"
+    xmlns:tools="http://schemas.android.com/tools"
+    tools:ignore="ResourceName">
+
+    <data>
+
+        <variable
+            name="data"
+            type="com.yingyangfly.baselib.db.QuestionsBean" />
+    </data>
+
+    <androidx.constraintlayout.widget.ConstraintLayout
+        android:layout_width="wrap_content"
+        android:layout_height="wrap_content"
+        android:layout_marginTop="@dimen/divider_24px"
+        android:gravity="center_vertical"
+        android:orientation="horizontal">
+
+        <androidx.appcompat.widget.AppCompatTextView
+            android:id="@+id/tvTitle"
+            android:layout_width="@dimen/divider_260px"
+            android:layout_height="wrap_content"
+            android:layout_marginStart="@dimen/divider_16px"
+            android:paddingStart="@dimen/divider_17px"
+            android:paddingEnd="@dimen/divider_17px"
+            android:text="@{data.reviewItem}"
+            android:textColor="@color/txt_radio_color"
+            android:textSize="@dimen/divider_24px"
+            android:textStyle="bold"
+            app:layout_constraintStart_toStartOf="parent"
+            app:layout_constraintTop_toTopOf="parent" />
+
+        <androidx.appcompat.widget.AppCompatTextView
+            android:layout_width="@dimen/divider_260px"
+            android:layout_height="wrap_content"
+            android:layout_marginStart="@dimen/divider_16px"
+            android:layout_marginTop="@dimen/divider_8px"
+            android:paddingStart="@dimen/divider_17px"
+            android:paddingEnd="@dimen/divider_17px"
+            android:text="@{data.reviewDesc}"
+            android:textColor="@color/txt_radio_color"
+            android:textSize="@dimen/divider_18px"
+            android:textStyle="bold"
+            app:layout_constraintStart_toStartOf="parent"
+            app:layout_constraintTop_toBottomOf="@+id/tvTitle" />
+
+
+        <RadioGroup
+            android:id="@+id/radioChoice"
+            android:layout_width="wrap_content"
+            android:layout_height="match_parent"
+            android:orientation="horizontal"
+            app:layout_constraintBottom_toBottomOf="parent"
+            app:layout_constraintStart_toEndOf="@+id/tvTitle"
+            app:layout_constraintTop_toTopOf="parent">
+
+            <RadioButton
+                android:id="@+id/radioCorrect"
+                android:layout_width="wrap_content"
+                android:layout_height="match_parent"
+                android:layout_marginStart="@dimen/divider_20px"
+                android:background="@drawable/selector_questions_choice"
+                android:button="@null"
+                android:text="@string/correct"
+                android:textColor="@color/txt_radio_color"
+                android:textSize="@dimen/divider_24px"
+                android:textStyle="bold" />
+
+            <RadioButton
+                android:id="@+id/radioDeny"
+                android:layout_width="wrap_content"
+                android:layout_height="match_parent"
+                android:layout_marginStart="@dimen/divider_12px"
+                android:layout_marginEnd="@dimen/divider_19px"
+                android:background="@drawable/selector_questions_choice"
+                android:button="@null"
+                android:text="@string/deny"
+                android:textColor="@color/txt_radio_color"
+                android:textSize="@dimen/divider_24px"
+                android:textStyle="bold" />
+
+        </RadioGroup>
+    </androidx.constraintlayout.widget.ConstraintLayout>
+</layout>