0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 1 year has passed since last update.

Androidで保険業界の単語帳を作る vol.2 ~画面を作成する~

Last updated at Posted at 2022-08-23

オブジェクト構成

単語帳に最低限必要な機能といえば単語の一覧を表示することと、データを保存するデータベースの2点かなと思ってます。
いろいろ調べていたところ、まあうさブラザーズさんが書いている以下のブログの記事のオブジェクト構成がヒントになるんじゃないかと思ったので、こちらを参考にしながら開発していこうかなと思います。

image.png

「テキスト画面」は今のところ作るつもりはないので、メイン画面とデータベースとそれをつないでいるオブジェクトを作成していこうかなと思います。

今のところどんな風に開発するか、まったく見当がついていませんw

メイン画面を作成する

メイン画面を作ろうと思いますが、記事を読むとメイン画面も「メイン画面」のレイアウトと「1行分のレイアウト」の2つに分けられるらしい、、、なるほど。

まずは「メイン画面」のレイアウトから。記事でもそこまで難しいことはやっていないみたいで安心しました^^
「ConstraintLayout」というレイアウトが画面の下地となるようなレイアウトになります。
他のView(文字とかボタンとか)と相対的に画面上にViewを配置できるレイアウトです。
そこにListView(データを一覧として表示するレイアウト)を貼り付けます。
ソースコードがこちら↓

main_fragment.xml
<?xml version="1.0" encoding="utf-8"?>
<androidx.constraintlayout.widget.ConstraintLayout
    xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:app="http://schemas.android.com/apk/res-auto"
    android:layout_width="match_parent"
    android:layout_height="match_parent">

    <ListView
        android:id="@+id/mainList"
        android:layout_width="match_parent"
        android:layout_height="match_parent"
        app:layout_constraintBottom_toBottomOf="parent"
        app:layout_constraintEnd_toEndOf="parent"
        app:layout_constraintStart_toStartOf="parent"
        app:layout_constraintTop_toTopOf="parent" />

</androidx.constraintlayout.widget.ConstraintLayout>

idがListViewの名前、widthやheightが幅と高さ、appから始まる部分が"相対的に"の部分で、下地となるConstraintLayoutの4つの辺(上、下、右、左)にListViewの4つの辺をくっつけています。
記事にはフローティングアクションボタンが作成されてますが、単語を追加したりする予定は今のとこないのでカット。
とりあえずメイン画面は完成しました!

1行のレイアウトを作成する

つづいてListViewに表示させる1行分のレイアウトを作成していきます。
記事のようにテキストとボタンを組み合わせた行の場合、こういう作り方をするのだと思うのですが、
今回は単語だけ乗ればとりあえずはいいかなと思ってます。ただ将来的にボタンを付けたりできるように今のうちに作っておきます。

row_main.xml
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout
    xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="match_parent"
    android:layout_height="match_parent">

    <TextView
        android:id="@+id/word"
        android:layout_width="match_parent"
        android:layout_height="70dp"
        android:gravity="center_vertical"
        android:paddingLeft="10dp"
        android:paddingRight="10dp"
        android:textSize="24sp"/>
</LinearLayout>

一行の下地となるのはLinerLayoutというレイアウト。
これは横もしくは縦にViewを配置するレイアウトになります。
テキストだけの1行なので本領発揮していない気もしますが、ボタンとか配置したい場合は横並びで配置します。XML上で文字を入れてみるとこんな感じ↓
image.png

とりあえず画面はこんな感じ。
次回はデータベースを作っていきます!

0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?