目录
ViewModel与某种特殊用户屏相关联,非常适合存管那些处理屏显数据的逻辑。ViewModel持有模型对象,能够“加工美化”模型层对象。使用ViewModel,可以把所有要显示在用户界面上的数据汇集在一处, 统一格式化加工处理供其他对象获取。 用ViewModel写一个简单的答题游戏,增加对ViewMode的理解。游戏的包含两个简单的界面(首页和提示页)如下图所示:
1.创建Activity和布局文件
创建两个Activity(首页Activity和提示页Activity)。首页对应的布局文件 activity_geo.xml. 在布局文件中需要添加两个textview、四个button。
<?xml version="1.0" encoding="utf-8"?>
<!--suppress ALL -->
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:gravity="center"
android:orientation="vertical">
<LinearLayout
android:layout_width="match_parent"
android:layout_height="150dp"
android:orientation="horizontal"
>
<TextView
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_weight = "2"
android:gravity="top"
android:textSize="29sp"
android:padding="20dp"
android:textColor="@color/colorQuestionBack"
android:text="@string/title_text"/>
<TextView
android:id = "@+id/total_count_text"
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_weight = "1"
android:gravity="center"
android:textSize="50sp"
android:padding="20dp"
android:textStyle="bold|italic"
android:textColor="@color/colorQuestion"
android:text="@string/title_total_text"/>
</LinearLayout>
<LinearLayout
android:layout_width="match_parent"
android:layout_height="200dp"
android:orientation="horizontal"
android:gravity="center"
android:background="@color/colorQuestionBack">
<TextView