6. 結果画面の作成

更新情報(2023年9月)
 解説を Android Studio Giraffe | 2022.3.1 に更新しました。
 動画をこちらのページに移動しました。

目次

はじめに

今回はクイズの正解数とトータルスコアを表示する結果画面を作成していきます。

【完成イメージ】

image1

 

解説

1. 結果画面のファイルを作成する

まずは新しいアクティビティを作成して

  • ResultActivity.java
  • activity_result.xml

を用意しましょう。

プロジェクト構造にあるパッケージ名(com.example.quizapp)の上で右クリックして、New → Activity → Empty Views Activity を選択します。

image2

 

Activity Name に ResultActivity と入力して「Finish」を押します。

image3

 

ResultActivity.java と activity_result.xml が作成できたら、結果画面のレイアウトを作成していきましょう。

 

 

2. strings.xml の準備

クイズ画面と同じように文字列を strings.xml に用意しておきます。

image4

 

10~13行目を追加します。

<resources>
<string name="app_name">QuizApp</string>
<!-- クイズ画面 -->
<string name="question_label">問題文</string>
<string name="count_label">Q%d</string>
<string name="btn_answer">選択肢</string>
<!-- 結果画面 -->
<string name="result_title">結果</string>
<string name="result_score">%d / 5</string>
<string name="result_total_score">トータルスコア : %d</string>
<string name="btn_return">もどる</string>
</resources>
view raw strings.xml hosted with ❤ by GitHub

正解数を「5問中3問正解」と表示したい場合は

<string name="result_score">5問中%d問正解</string>

と書いて下さい。

 

 

3. レイアウトを作成

activity_result.xml を開いて以下のコードを書きます。

<?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="match_parent"
android:layout_height="match_parent"
tools:context=".ResultActivity"
android:orientation="vertical"
android:gravity="center">
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="@string/result_title"
android:textSize="22sp" />
<TextView
android:id="@+id/resultLabel"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="@string/result_score"
android:textSize="30sp"
android:layout_marginTop="60dp" />
<TextView
android:id="@+id/totalScoreLabel"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="@string/result_total_score"
android:textSize="20sp"
android:layout_marginTop="60dp" />
<Button
android:id="@+id/returnBtn"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="@string/btn_return"
android:layout_marginTop="80dp" />
</LinearLayout>

 

このような画面になりましたか?

image5

 

クイズ画面の作成で書いた XML とほとんど同じですが、いくつか要素を見てみましょう。

 

android:id="@+id/resultLabel"

ここにはクイズの正解数を表示します。

「3 / 5」は 5 問中 3 問正解という意味です。正解数の表示形式はあとで変更できます。

 

android:id="@+id/totalScoreLabel"

ここにはクイズの累積正解数(今までに何問正解したか)を表示します。

このトータルスコアはクイズデータとしてアプリに保存されるようにします。

 

もどるボタン

もう一度クイズに挑戦できるように、クイズ開始画面へもどるボタンを用意します。

 

 

次に行うこと

これで結果画面のレイアウトは完成です!

次回はクイズ結果を表示して、スコアを保存できるようにしていきます。

 

 

完了して次のステップへ  
コメント

17 コメント