【Android Studio】TextView を使ってテキストを変更、追加する方法。

公開 : → 更新 :

TextViewの文字列を変更するより、これまでの人生を変更したい@It_is_Rです。

Android Studioを使ったアプリ開発講座6回目です。
今回はアプリに表示されたテキストを変更、そして、さらに別のテキストを追加表示してみます。

※今回使用しているバージョンは「Android Studio 2.3.3.0」です。

前回までの解説では、アプリ内に「Hello World!」と表示されているだけでした。
言い換えれば「Hello World!」と書かれた TextView が、あらかじめ用意されているということです。
本来の開発であれば、これが不要の場合、削除してしまいます。が、今回はそのままにしておきます。
今回はここからテキストの変更や追加、表示する方法を解説していきたいと思います。
android studio

TextView のテキストを変更する

まずはテキストを変更する方法です。
その方法は「Design」もしくは「Text」で編集していきます。

Design で変更する方法

「activity_main.xml」ファイルを開くと、左下に「Design」と「Text」が選べるようになっています。
ここでは「Design」を選びましょう。
android studio

すると下のように、アプリ画面のデザインが表示されます。
今回は文字を変更したいので、アプリ画面中央の文字をクリックして選択します。
右に「Properties」が表示されますので、TextView→textの「Hello World!」を好きな文字に変更します。
android studio

私は「ハローワールド!」に変更してみました。
android studio

Text で変更する方法

ソースを編集するのに慣れている方は、こちらの方が分かりやすいかもしれません。
「activity_main.xml」ファイルを開き「Text」を選択します。
android studio

<?xml version="1.0" encoding="utf-8"?>
<android.support.constraint.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="com.example.r.myapplication.MainActivity">

    <TextView
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:text="Hello World!"
        app:layout_constraintBottom_toBottomOf="parent"
        app:layout_constraintLeft_toLeftOf="parent"
        app:layout_constraintRight_toRightOf="parent"
        app:layout_constraintTop_toTopOf="parent" />

</android.support.constraint.ConstraintLayout>

12行目のandroid:text="Hello World!"が、アプリ内のTextViewに表示されている文字を表しています。
この部分を変更してみましょう。

<?xml version="1.0" encoding="utf-8"?>
<android.support.constraint.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="com.example.r.myapplication.MainActivity">

    <TextView
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:text="ハローワールド!"
        app:layout_constraintBottom_toBottomOf="parent"
        app:layout_constraintLeft_toLeftOf="parent"
        app:layout_constraintRight_toRightOf="parent"
        app:layout_constraintTop_toTopOf="parent" />

</android.support.constraint.ConstraintLayout>

どちらの方法でも、実行するとこのように文字が変更されます。
android studio

エラー?が表示されます

さて、文字列を変更すると、エラー?が表示されます。
android studio

この赤い四角をクリックすると、次のように表示されます。
android studio

実は今回のこれはエラーではなくWarning(警告)です。
Warning: Hardcoded string “ハローワールド!”, should use [email protected]` resource

つまり、@stringを使った方がいいよ、ということです。
このままでも実行はされますが、警告をそのままにしておくのも気持ち悪いので、@stringを使ったものに作り変えてみたいと思います。
「strings.xml」を使用することで、これを解決することができます。

「strings.xml」を使う

「strings.xml」ファイルを開きます。

<resources>
    <string name="app_name">My Application</string>
</resources>

ここに表示したいテキストをあらかじめ入力しておきます。
こんな感じです。

<resources>
    <string name="app_name">My Application</string>
    <string name="text">ハローワールド!</string>
</resources>

入力したら「activity_main.xml」を開きます。
ここから「Design」か「Text」かのどちらかで変更していきます。

まずは「Design」で変更する方法です。
TextViewを選択し「Properties」から「text」の部分を書き換えます。
@string/textと入力します。ここでいうtextというのは、先ほど「strings.xml」で指定した「name」にあたるものです。
android studio

もしも「Text」で編集する場合は、ソースを以下のように変更します。
変更する箇所は12行目です。

<?xml version="1.0" encoding="utf-8"?>
<android.support.constraint.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="com.example.r.myapplication.MainActivity">

    <TextView
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:text="@string/text"
        app:layout_constraintBottom_toBottomOf="parent"
        app:layout_constraintLeft_toLeftOf="parent"
        app:layout_constraintRight_toRightOf="parent"
        app:layout_constraintTop_toTopOf="parent" />

</android.support.constraint.ConstraintLayout>

テキストを追加する

では、テキストを追加してみましょう。
これも「Design」と「Text」の二つの方法があります。

Design で変更する方法

追加は「Palette」から「TextView」をドラッグすることでできます。
android studio

Text で変更する方法

<?xml version="1.0" encoding="utf-8"?>
<android.support.constraint.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="com.example.r.myapplication.MainActivity">

    <TextView
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:text="@string/text"
        app:layout_constraintBottom_toBottomOf="parent"
        app:layout_constraintLeft_toLeftOf="parent"
        app:layout_constraintRight_toRightOf="parent"
        app:layout_constraintTop_toTopOf="parent" />

    <!-- ここから -->
    <TextView
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:text="TextView" />
    <!-- ここまで追加 -->

</android.support.constraint.ConstraintLayout>

とりあえずテキストを追加することができますが、このままでは位置を指定していないので、実行しても左上に文字がきてしまいます。
文字の位置を指定する方法については、後日別の記事で紹介したいと思います。
android studio

この企画の一覧はこちら

スポンサードリンク

おすすめの記事♪

あなたの前世は猫でしょう!

LINEスタンプを販売しよう。販売の手順や方法。

前は、猫より犬派だったけど、猫を飼いはじめて[email protected]_is_Rです。 今回は、LINEスタンプの販売方法について、記事を書いてみたいと思います。 LINEスタンプは、誰

enchant.js100行未満!!本格シューティングゲーム作り方。

[email protected]_is_Rです。 さて、今回はenchant.jsのネタです。enchant.jsを使うと、javascriptのプログラムがものすごく簡単に書けてしま

CSS Button

サイト制作に!!CSSでマウスオーバーボタンの作り方。

新年初の記事です。とりあえず、あけましておめ[email protected]_is_Rです。 お正月……おそーがつ……おそまつ……おそ松さん。新年早々くだらないこと言ってないで早く記事を書けって話ですね。

blender

Blenderで3D美少女キャラの作り方。その9(顎と首を作る)

美少女よりもセクシーなおねえさんが好きです。@It_is_Rです。 いろいろなジャンルの記事を書いてるので、一つのジャンルの記事がおろそかになってしまいそうで怖い。もうなってるか? では、3D

enchant.js

enchant.js でクラスを作る、激分かりやすい方法!

[email protected]t_is_Rです。 前回までの enchant.js の記事で、画像の表示やキャラの移動など、ゲーム制作には欠かせない基礎知識が身についたのではない

RGB

Photoshopを使う上で必要不可欠。RGBとCMYKって何?

人生は山あり谷ありといいますが、下り坂しか無[email protected]_is_Rです。 今回はPhotshopなどのソフトを使う上で必要不可欠となる、RGBやCMYKについて

Swift

【Xcode7】Swift2でMacアプリ開発。画像を読み込む為のボタンを作る。

[email protected]_is_Rです。 最近はSwiftの記事が多いと思っている人もいるのでは無いでしょうか。実はRは現在、Swiftを使ってゲーム開発のお助けアプリを

java

Javaのクラスとメソッドの違いとは?ゲーム風に解説。

この頃小説を読んでいなく、何か読みたいなと思[email protected]_is_Rです。 Javaを勉強し始めたばかりの人は、何やら難しい単語に混乱する人も多いでしょう。その中で、クラスとメソッドって一体何が

WordPress|特定カテゴリーに属する記事を一覧表示させる方法!!

今まで、何度かに分けて書いた記事でも、その一[email protected]_is_Rです。 昨日、記事の一覧表示をするショートコードを作って、記事の一覧が欲しい記事にだけ貼り付けてみ

blender

Blenderで3D美少女キャラの作り方。その8(後ろ髪を描く)

モンスターボールって下ネタですか?@It_is_Rです。 はい、いきなり不愉快な思いさせてすいませんでした。 今回はBlenderで作る3D美少女キャラの、第8回目です。 前回は空いた空


コメントをどうぞ!

メールアドレスが公開されることはありません。




Games