zoukankan      html  css  js  c++  java
  • 结对开发

    设计思路:

    UI设计思路:

    一共四个页面:首页,习题页,成功页,失败页

    将这四个页面通过Navigation连接起来形成一条逻辑关系。

     接下来就是对每个页面进行设计。

    首页:一个TextView和一个ImageView还有一个Button,顶部是一个最高分Textview,通过button来进入出题页面

    <?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">
     
        <data>
            <variable
                name="data"
                type="com.example.calculation.MyViewModel" />
        </data>
     
        <androidx.constraintlayout.widget.ConstraintLayout
            android:layout_width="match_parent"
            android:layout_height="match_parent"
            tools:context=".TitleFragment">
     
            <androidx.constraintlayout.widget.Guideline
                android:id="@+id/guideline"
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:orientation="vertical"
                app:layout_constraintGuide_percent="0.1" />
     
            <androidx.constraintlayout.widget.Guideline
                android:id="@+id/guideline2"
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:orientation="vertical"
                app:layout_constraintGuide_percent="0.9" />
     
            <TextView
                android:id="@+id/textView"
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:text="@string/CalName"
                android:textSize="@dimen/huge_size"
                app:layout_constraintBottom_toBottomOf="parent"
                app:layout_constraintEnd_toStartOf="@+id/guideline2"
                app:layout_constraintStart_toStartOf="@+id/guideline"
                app:layout_constraintTop_toTopOf="parent"
                app:layout_constraintVertical_bias="0.106" />
     
            <ImageView
                android:id="@+id/imageView"
                android:layout_width="320dp"
                android:layout_height="349dp"
                android:contentDescription="@string/title_image"
                android:src="@drawable/size"
                app:layout_constraintBottom_toBottomOf="parent"
                app:layout_constraintDimensionRatio="w,1:1"
                app:layout_constraintEnd_toStartOf="@+id/guideline2"
                app:layout_constraintHorizontal_bias="0.56"
                app:layout_constraintStart_toStartOf="@+id/guideline"
                app:layout_constraintTop_toTopOf="parent" />
     
            <Button
                android:id="@+id/button"
                android:layout_width="0dp"
                android:layout_height="wrap_content"
                android:text="@string/title_button"
                app:layout_constraintBottom_toBottomOf="parent"
                app:layout_constraintEnd_toStartOf="@+id/guideline2"
                app:layout_constraintHorizontal_bias="0.0"
                app:layout_constraintStart_toStartOf="@+id/guideline"
                app:layout_constraintTop_toTopOf="parent"
                app:layout_constraintVertical_bias="0.862" />
     
            <TextView
                android:id="@+id/textView2"
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:text="@{@string/higer_score(data.highScore)}"
                app:layout_constraintBottom_toBottomOf="parent"
                app:layout_constraintEnd_toEndOf="parent"
                app:layout_constraintHorizontal_bias="0.883"
                app:layout_constraintStart_toStartOf="parent"
                app:layout_constraintTop_toTopOf="parent"
                app:layout_constraintVertical_bias="0.036"
                tools:text="High Score:%d" />
        </androidx.constraintlayout.widget.ConstraintLayout>
    </layout>

      出题页面:顶部代表目前的得分情况,中间是一个算式,下面是答案,接下来是4行3列,12个按钮代表你的操作。

    <?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">
     
        <data>
            <variable
                name="data"
                type="com.example.calculation.MyViewModel" />
        </data>
     
        <androidx.constraintlayout.widget.ConstraintLayout
            android:layout_width="match_parent"
            android:layout_height="match_parent"
            tools:context=".QuestionFragment">
     
            <androidx.constraintlayout.widget.Guideline
                android:id="@+id/guideline3"
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:orientation="horizontal"
                app:layout_constraintGuide_percent="0.1" />
     
            <androidx.constraintlayout.widget.Guideline
                android:id="@+id/guideline4"
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:orientation="horizontal"
                app:layout_constraintGuide_percent="0.2" />
     
            <androidx.constraintlayout.widget.Guideline
                android:id="@+id/guideline5"
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:orientation="horizontal"
                app:layout_constraintGuide_percent="0.33" />
     
            <androidx.constraintlayout.widget.Guideline
                android:id="@+id/guideline6"
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:orientation="horizontal"
                app:layout_constraintGuide_percent="0.4" />
     
            <androidx.constraintlayout.widget.Guideline
                android:id="@+id/guideline10"
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:orientation="horizontal"
                app:layout_constraintGuide_percent="0.5" />
     
            <androidx.constraintlayout.widget.Guideline
                android:id="@+id/guideline11"
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:orientation="horizontal"
                app:layout_constraintGuide_percent="0.6" />
     
            <androidx.constraintlayout.widget.Guideline
                android:id="@+id/guideline12"
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:orientation="horizontal"
                app:layout_constraintGuide_percent="0.7" />
     
            <androidx.constraintlayout.widget.Guideline
                android:id="@+id/guideline7"
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:orientation="horizontal"
                app:layout_constraintGuide_percent="0.8" />
     
            <TextView
                android:id="@+id/textView3"
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:text="@{@string/Current_Score(data.currentScore)}"
                app:layout_constraintBottom_toTopOf="@+id/guideline3"
                app:layout_constraintEnd_toStartOf="@+id/guideline9"
                app:layout_constraintHorizontal_bias="0.537"
                app:layout_constraintStart_toStartOf="@+id/guideline8"
                app:layout_constraintTop_toTopOf="@+id/guideline3"
                app:layout_constraintVertical_bias="0.473"
                tools:text="Score:0" />
     
            <androidx.constraintlayout.widget.Guideline
                android:id="@+id/guideline8"
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:orientation="vertical"
                app:layout_constraintGuide_percent="0.1" />
     
            <androidx.constraintlayout.widget.Guideline
                android:id="@+id/guideline9"
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:orientation="vertical"
                app:layout_constraintGuide_percent="0.9" />
     
            <TextView
                android:id="@+id/textView4"
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:textSize="@dimen/huge_size"
                android:text="@{String.valueOf(data.leftNumber)}"
                app:layout_constraintBottom_toBottomOf="@+id/textView5"
                app:layout_constraintEnd_toStartOf="@+id/textView5"
                app:layout_constraintHorizontal_bias="0.5"
                app:layout_constraintStart_toStartOf="@+id/guideline8"
                app:layout_constraintTop_toTopOf="@+id/textView5"
                tools:text="1" />
     
            <TextView
                android:id="@+id/textView5"
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:textSize="@dimen/huge_size"
                android:text="@{String.valueOf(data.operator)}"
                app:layout_constraintBottom_toBottomOf="@+id/textView6"
                app:layout_constraintEnd_toStartOf="@+id/textView6"
                app:layout_constraintHorizontal_bias="0.5"
                app:layout_constraintStart_toEndOf="@+id/textView4"
                app:layout_constraintTop_toTopOf="@+id/textView6"
                tools:text="+" />
     
            <TextView
                android:id="@+id/textView6"
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:textSize="@dimen/huge_size"
                android:text="@{String.valueOf(data.rigthNumber)}"
                app:layout_constraintBottom_toBottomOf="@+id/textView7"
                app:layout_constraintEnd_toStartOf="@+id/textView7"
                app:layout_constraintHorizontal_bias="0.5"
                app:layout_constraintStart_toEndOf="@+id/textView5"
                app:layout_constraintTop_toTopOf="@+id/textView7"
                tools:text="2" />
     
            <TextView
                android:id="@+id/textView7"
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:text="="
                android:textSize="@dimen/huge_size"
                app:layout_constraintBottom_toBottomOf="@+id/textView8"
                app:layout_constraintEnd_toStartOf="@+id/textView8"
                app:layout_constraintHorizontal_bias="0.5"
                app:layout_constraintStart_toEndOf="@+id/textView6"
                app:layout_constraintTop_toTopOf="@+id/textView8"
                tools:text="=" />
     
            <TextView
                android:id="@+id/textView8"
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:text="@string/Cal_Answer"
                android:textSize="@dimen/huge_size"
                app:layout_constraintBottom_toTopOf="@+id/guideline4"
                app:layout_constraintEnd_toStartOf="@+id/guideline9"
                app:layout_constraintHorizontal_bias="0.5"
                app:layout_constraintStart_toEndOf="@+id/textView7"
                app:layout_constraintTop_toTopOf="@+id/guideline4" />
     
            <TextView
                android:id="@+id/textView9"
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:text="Your Answer:"
                android:textSize="@dimen/mid_size"
                app:layout_constraintBottom_toTopOf="@+id/guideline5"
                app:layout_constraintEnd_toStartOf="@+id/guideline9"
                app:layout_constraintStart_toStartOf="@+id/guideline8"
                app:layout_constraintTop_toTopOf="@+id/guideline5" />
     
            <Button
                android:id="@+id/button1"
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:text="1"
                android:textSize="@dimen/button_size"
                app:layout_constraintBottom_toTopOf="@+id/guideline10"
                app:layout_constraintEnd_toStartOf="@+id/button2"
                app:layout_constraintHorizontal_bias="0.5"
                app:layout_constraintStart_toStartOf="@+id/guideline8"
                app:layout_constraintTop_toTopOf="@+id/guideline6" />
     
            <Button
                android:id="@+id/button2"
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:text="2"
                android:textSize="@dimen/button_size"
                app:layout_constraintBottom_toBottomOf="@+id/button1"
                app:layout_constraintEnd_toStartOf="@+id/button3"
                app:layout_constraintHorizontal_bias="0.5"
                app:layout_constraintStart_toEndOf="@+id/button1"
                app:layout_constraintTop_toTopOf="@+id/button1" />
     
            <Button
                android:id="@+id/button3"
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:text="3"
                android:textSize="@dimen/button_size"
                app:layout_constraintBottom_toBottomOf="@+id/button2"
                app:layout_constraintEnd_toStartOf="@+id/guideline9"
                app:layout_constraintHorizontal_bias="0.5"
                app:layout_constraintStart_toEndOf="@+id/button2"
                app:layout_constraintTop_toTopOf="@+id/button2" />
     
            <Button
                android:id="@+id/button4"
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:text="4"
                android:textSize="@dimen/button_size"
                app:layout_constraintBottom_toTopOf="@+id/guideline11"
                app:layout_constraintEnd_toStartOf="@+id/button5"
                app:layout_constraintHorizontal_bias="0.5"
                app:layout_constraintStart_toStartOf="@+id/guideline8"
                app:layout_constraintTop_toTopOf="@+id/guideline10" />
     
            <Button
                android:id="@+id/button5"
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:text="5"
                android:textSize="@dimen/button_size"
                app:layout_constraintBottom_toBottomOf="@+id/button4"
                app:layout_constraintEnd_toStartOf="@+id/button6"
                app:layout_constraintHorizontal_bias="0.5"
                app:layout_constraintStart_toEndOf="@+id/button4"
                app:layout_constraintTop_toTopOf="@+id/button4" />
     
            <Button
                android:id="@+id/button6"
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:text="6"
                android:textSize="@dimen/button_size"
                app:layout_constraintBottom_toBottomOf="@+id/button5"
                app:layout_constraintEnd_toStartOf="@+id/guideline9"
                app:layout_constraintHorizontal_bias="0.5"
                app:layout_constraintStart_toEndOf="@+id/button5"
                app:layout_constraintTop_toTopOf="@+id/button5" />
     
            <Button
                android:id="@+id/button7"
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:text="7"
                android:textSize="@dimen/button_size"
                app:layout_constraintBottom_toTopOf="@+id/guideline12"
                app:layout_constraintEnd_toStartOf="@+id/button8"
                app:layout_constraintHorizontal_bias="0.5"
                app:layout_constraintStart_toStartOf="@+id/guideline8"
                app:layout_constraintTop_toTopOf="@+id/guideline11" />
     
            <Button
                android:id="@+id/button8"
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:text="8"
                android:textSize="@dimen/button_size"
                app:layout_constraintBottom_toBottomOf="@+id/button7"
                app:layout_constraintEnd_toStartOf="@+id/button9"
                app:layout_constraintHorizontal_bias="0.5"
                app:layout_constraintStart_toEndOf="@+id/button7"
                app:layout_constraintTop_toTopOf="@+id/button7" />
     
            <Button
                android:id="@+id/button9"
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:text="9"
                android:textSize="@dimen/button_size"
                app:layout_constraintBottom_toBottomOf="@+id/button8"
                app:layout_constraintEnd_toStartOf="@+id/guideline9"
                app:layout_constraintHorizontal_bias="0.5"
                app:layout_constraintStart_toEndOf="@+id/button8"
                app:layout_constraintTop_toTopOf="@+id/button8" />
     
            <Button
                android:id="@+id/clear"
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:text="Clear"
                android:textSize="@dimen/button_size"
                app:layout_constraintBottom_toTopOf="@+id/guideline7"
                app:layout_constraintEnd_toStartOf="@+id/button0"
                app:layout_constraintHorizontal_bias="0.5"
                app:layout_constraintStart_toStartOf="@+id/guideline8"
                app:layout_constraintTop_toTopOf="@+id/guideline12" />
     
            <Button
                android:id="@+id/button0"
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:text="0"
                android:textSize="@dimen/button_size"
                app:layout_constraintBottom_toBottomOf="@+id/clear"
                app:layout_constraintEnd_toStartOf="@+id/submit"
                app:layout_constraintHorizontal_bias="0.5"
                app:layout_constraintStart_toEndOf="@+id/clear"
                app:layout_constraintTop_toTopOf="@+id/clear" />
     
            <Button
                android:id="@+id/submit"
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:text="OK"
                android:textSize="@dimen/button_size"
                app:layout_constraintBottom_toBottomOf="@+id/button0"
                app:layout_constraintEnd_toStartOf="@+id/guideline9"
                app:layout_constraintHorizontal_bias="0.5"
                app:layout_constraintStart_toEndOf="@+id/button0"
                app:layout_constraintTop_toTopOf="@+id/button0" />
        </androidx.constraintlayout.widget.ConstraintLayout>
    </layout>

      成功页面:两个Textview一个Button来返回首页

    <?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">
     
        <data>
            <variable
                name="data"
                type="com.example.calculation.MyViewModel" />
        </data>
     
        <androidx.constraintlayout.widget.ConstraintLayout
            android:layout_width="match_parent"
            android:layout_height="match_parent"
            tools:context=".WinFragment">
     
            <androidx.constraintlayout.widget.Guideline
                android:id="@+id/guideline13"
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:orientation="horizontal"
                app:layout_constraintGuide_percent="0.1" />
     
            <androidx.constraintlayout.widget.Guideline
                android:id="@+id/guideline14"
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:orientation="horizontal"
                app:layout_constraintGuide_percent="0.35" />
     
            <ImageView
                android:id="@+id/imageView2"
                android:layout_width="0dp"
                android:layout_height="0dp"
                android:contentDescription="@string/image_win"
                android:src="@drawable/ic_sentiment_satisfied_black_24dp"
                app:layout_constraintBottom_toTopOf="@+id/guideline14"
                app:layout_constraintEnd_toEndOf="parent"
                app:layout_constraintStart_toStartOf="parent"
                app:layout_constraintTop_toTopOf="@+id/guideline13" />
     
            <TextView
                android:id="@+id/textView10"
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:text="恭喜你!创下新纪录"
                android:textSize="@dimen/bige_size"
                app:layout_constraintBottom_toBottomOf="parent"
                app:layout_constraintEnd_toEndOf="parent"
                app:layout_constraintStart_toStartOf="parent"
                app:layout_constraintTop_toTopOf="@+id/guideline14"
                app:layout_constraintVertical_bias="0.1" />
     
            <TextView
                android:id="@+id/textView11"
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:text="@{@string/New_Score(data.highScore)}"
                android:textSize="@dimen/bige_size"
                app:layout_constraintBottom_toBottomOf="parent"
                app:layout_constraintEnd_toEndOf="parent"
                app:layout_constraintStart_toStartOf="parent"
                app:layout_constraintTop_toBottomOf="@+id/imageView2"
                app:layout_constraintVertical_bias="0.3"
                tools:text="你的成绩是:%d" />
     
            <Button
                android:id="@+id/button10"
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:text="返回"
                app:layout_constraintBottom_toBottomOf="parent"
                app:layout_constraintEnd_toEndOf="parent"
                app:layout_constraintHorizontal_bias="0.498"
                app:layout_constraintStart_toStartOf="parent"
                app:layout_constraintTop_toTopOf="@+id/guideline14"
                app:layout_constraintVertical_bias="0.5" />
        </androidx.constraintlayout.widget.ConstraintLayout>
    </layout>

      失败页面:两个Textview一个Button来返回首页

    <?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">
     
        <data>
            <variable
                name="data"
                type="com.example.calculation.MyViewModel" />
        </data>
     
        <androidx.constraintlayout.widget.ConstraintLayout
            android:layout_width="match_parent"
            android:layout_height="match_parent"
            tools:context=".LoseFragment">
     
            <androidx.constraintlayout.widget.Guideline
                android:id="@+id/guideline15"
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:orientation="horizontal"
                app:layout_constraintGuide_percent="0.1" />
     
            <androidx.constraintlayout.widget.Guideline
                android:id="@+id/guideline16"
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:orientation="horizontal"
                app:layout_constraintGuide_percent="0.35" />
     
            <ImageView
                android:id="@+id/imageView3"
                android:layout_width="0dp"
                android:layout_height="0dp"
                android:src="@drawable/ic_sentiment_dissatisfied_black_24dp"
                app:layout_constraintBottom_toTopOf="@+id/guideline16"
                app:layout_constraintEnd_toEndOf="parent"
                app:layout_constraintStart_toStartOf="parent"
                app:layout_constraintTop_toTopOf="@+id/guideline15" />
     
            <TextView
                android:id="@+id/textView13"
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:text="@{@string/New_Score(data.currentScore)}"
                android:textSize="@dimen/bige_size"
                app:layout_constraintBottom_toBottomOf="parent"
                app:layout_constraintEnd_toEndOf="parent"
                app:layout_constraintStart_toStartOf="parent"
                app:layout_constraintTop_toTopOf="@+id/guideline16"
                app:layout_constraintVertical_bias="0.3"
                tools:text="你的成绩是:%d" />
     
            <Button
                android:id="@+id/button11"
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:text="返回"
                app:layout_constraintBottom_toBottomOf="parent"
                app:layout_constraintEnd_toEndOf="parent"
                app:layout_constraintHorizontal_bias="0.498"
                app:layout_constraintStart_toStartOf="parent"
                app:layout_constraintTop_toTopOf="@+id/guideline16"
                app:layout_constraintVertical_bias="0.5" />
     
            <TextView
                android:id="@+id/textView14"
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:text="挑战失败!"
                android:textSize="@dimen/bige_size"
                app:layout_constraintBottom_toBottomOf="parent"
                app:layout_constraintEnd_toEndOf="parent"
                app:layout_constraintStart_toStartOf="parent"
                app:layout_constraintTop_toBottomOf="@+id/imageView3"
                app:layout_constraintVertical_bias="0.1" />
        </androidx.constraintlayout.widget.ConstraintLayout>
    </layout>
  • 相关阅读:
    idea无法clean报错Error running 'lizi-user-api [clean]': No valid Maven installation found. Either set the home directory in the configuration dialog or set the M2_HOME environment variable on your system.
    maven项目无法下载依赖jar包
    JPA封装baseDao
    forward和redirect的区别
    java的三个体系
    Java基本修饰符
    SpringMVC 中,当前台传入多个参数时,可将参数封装成一个bean类
    注解@RequestParam——取请求参数
    冒泡排序
    为什么要使用线程池?
  • 原文地址:https://www.cnblogs.com/mxk123456/p/13085129.html
Copyright © 2011-2022 走看看