Java Android 4〜入力部品を追加する〜

前回は、表示した文字(TextView)を変更する実装をやりました。今回は、テキストボックス(入力部品)を画面に追加する方法を学びます。

余談

Android Studioを立ち上げてLayoutEditorを開いてみると、黒くなっている時があります。
これは、リビルドすると治りました。

TextView

前回までの実装では下のようになっています。

これにテキストボックス(EditText)を追加します。

上記のリンク先にサンプルコード(XML)があるのでそいつをコピーしてきます。

<EditText
     android:id="@+id/plain_text_input"
     android:layout_height="wrap_content"
     android:layout_width="match_parent"
     android:inputType="text"/>

そして、すでに実装しているTextViewの下にコードを追記します。

参考にするサイトはAndroidデベロッパのガイドです。
ここにはLayoutEditorの開き方が載っていて、とてもわかりやすいです。

しかし、エラーが出ました。「This view is not Constrained ...」という内容でした。

結局のところは「レイアウトのポジション指定をしないと変な場所にコンポーネント(画面の部品)が表示されます。」という内容のエラーでした。
そんなわけで、ポジションを指定します。

<EditText
    android:id="@+id/editText"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:ems="10"
    android:inputType="textPersonName"
    android:text="Name"
    app:layout_constraintBottom_toBottomOf="parent"
    app:layout_constraintLeft_toLeftOf="parent"
    tools:layout_editor_absoluteX="222dp"
    tools:layout_editor_absoluteY="684dp" />

これでエラーは解消できましたが、指定したポジションがおかしいので、左下に移動してしまいました。

なので、これを適当な場所に移動します。今回は、はじめに表示した「プログラミングで遊ぼう!」の文言の下に配置したいので、こちら(まとめ)かこちら(AndroidDeveloppers)を参考にXMLにコードを追加します。

            app:layout_constraintBottom_toBottomOf="parent"
            app:layout_constraintTop_toTopOf="@+id/textView"
            app:layout_constraintRight_toRightOf="parent"
            app:layout_constraintLeft_toLeftOf="parent"

ポイントとしては、上下左右のポジションが確定するようにプロパティを指定してやらないとエラー(警告?)がAndroid Studioから出されます。

これでとりあえずは、以下のように表示できました。

動かしてみた動画は下です。

でわでわ。。。

<<< 前回 次回 >>>

サイトマップ



投稿者:

takunoji

音響、イベント会場設営業界からIT業界へ転身。現在はJava屋としてサラリーマンをやっている。自称ガテン系プログラマー(笑) Javaプログラミングを布教したい、ラスパイとJavaの相性が良いことに気が付く。 Spring framework, Struts, Seaser, Hibernate, Playframework, JavaEE6, JavaEE7などの現場経験あり。 SQL, VBA, PL/SQL, コマンドプロント, Shellなどもやります。

コメントを残す