XMLレイアウト(テキスト入力 EditText、テキストビューTextView)

EditText

・hintを設定できる(ex android:hint=”@string/cost_of_service”)
・入力タイプを設定する(ex inputType=”numberDecimal”)
・入力方法のタイプの指定 https://developer.android.com/training/keyboard-input/style?hl=ja

EditText の inputTypeに指定できる値

内容
none 入力不可
text 普通のテキストを入力
textCapCharacters すべて大文字で入力する
textCapWords 単語の先頭を大文字で入力する
textCapSentences 文章の先頭を大文字で入力する
textAutoCorrect 文字の入力を自動で修正する
textAutoComplete 文字の補完入力をする
textMultiLine 文字を複数行入力する
textImeMultiLine 通常の文字入力時は複数入力を許可せず 、IMEによって複数行入力を設定する
textUri URLを入力する
textEmailAddress メールアドレスを入力する
textEmailSubject メールの件名を入力する
textShortMessage ショートメッセージを入力する
textLongMessage ロングメッセージを入力する
textPersonName 人名を入力する
textPostalAddress 住所を入力する
textPassword パスワードを入力する
textVisiblePassword パスワードを見える状態で入力する
textWebEditText HTMLを入力する
textFilter 他のデータでフィルタされた文字を入力
textPhonetic 発音記号を入力する
number 数値入力する
numberSigned 符号付きの数値を入力する
numberDecimal 小数入力する
phone 電話番号を入力する
datetime 日付時刻を入力する
date 日付を入力する
time 時刻を入力する

TextView

・レイアウト作成時の画面表示はCommon Attributesの2番目のtextで設定する。(スパナマークがついてるtext属性)
xmlでは「tools:text」を利用 (ex tools:text=”Tip Amount: $10″)
・実行時に文字列の一部を変更する場合はstrings.xmlで可変部分を「%s」とし、getString関数で値を指定する。

<resources>
    <!-- 文字列の一部を引数として渡す場合 -->
    <string name="tip_amount">Tip Amount: %s</string>
</resources>
val formattedTip = "1,000円"
binding.tipResult.text = getString(R.string.tip_amount, formattedTip)

ConstraintLayoutの例

<?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"
    xmlns:tools="http://schemas.android.com/tools"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    tools:context=".MainActivity">

    <EditText
        android:id="@+id/cost_of_service"
        android:layout_width="160dp"
        android:layout_height="wrap_content"
        android:hint="@string/cost_of_service"  <!-- ヒント文字列 -->
        android:inputType="numberDecimal"		<!-- 入力タイプ -->
        app:layout_constraintStart_toStartOf="parent"
        app:layout_constraintTop_toTopOf="parent" />

    <TextView
        android:id="@+id/service_question"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:text="@string/how_was_the_service"
        tools:text="Tip Amount: $10"<!-- レイアウト確認時の表示文字列 -->
        app:layout_constraintStart_toStartOf="parent"
        app:layout_constraintTop_toBottomOf="@id/cost_of_service" />

</androidx.constraintlayout.widget.ConstraintLayout>

トレーニング > KOTLIN を用いた ANDROID の基本 > レイアウト > ユーザー入力1 > Android 用の XML レイアウトを作成する > 4.XMLでレイアウトを作成する