Android
 Computer >> コンピューター >  >> プログラミング >> Android

【Android】TextViewをLinearLayoutに動的に追加する方法【サンプルコード付き】

このチュートリアルでは、Androidアプリにおいて TextViewLinearLayout に対してコードから動的に追加する方法を、サンプルプロジェクトを使いながら解説します。XMLレイアウトにあらかじめ配置せず、Javaコード上でビューを生成して画面に表示したい場合に役立つテクニックです。

手順1:Android Studioで新規プロジェクトを作成する

まず、Android Studioを起動し、メニューから「File」→「New Project」を選択します。プロジェクト名やパッケージ名など必要な項目を入力して、新しいプロジェクトを作成しましょう。

手順2:activity_main.xml にレイアウトを定義する

res/layout/activity_main.xml を開き、以下のコードを記述します。ここでは、縦方向(vertical)のLinearLayoutのみを配置したシンプルなレイアウトを用意しています。

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="https://schemas.android.com/apk/res/android"
    android:id="@+id/rlMain"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:layout_margin="16dp"
    android:orientation="vertical" />

手順3:MainActivity.java でTextViewを動的に追加する

続いて、src フォルダ内の MainActivity.java に以下のコードを記述します。

package app.com.sample;
import android.os.Bundle;
import android.widget.LinearLayout;
import android.widget.TextView;
import androidx.appcompat.app.AppCompatActivity;
public class MainActivity extends AppCompatActivity {
    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
        LinearLayout llMain = findViewById(R.id.rlMain);
        TextView textView = new TextView(this);
        textView.setText("I am added dynamically to the view");
        LinearLayout.LayoutParams params = new LinearLayout.LayoutParams(
            LinearLayout.LayoutParams.MATCH_PARENT,
            LinearLayout.LayoutParams.MATCH_PARENT
        );
        textView.setLayoutParams(params);
        llMain.addView(textView);
    }
}

処理のポイントは以下のとおりです。

  • findViewById() で、XMLレイアウト上に配置したLinearLayoutを取得します。
  • new TextView(this) で、TextViewのインスタンスをコード上で生成します。
  • setText() で、TextViewに表示する文字列を設定します。
  • LinearLayout.LayoutParams で、幅・高さなどのレイアウトパラメータを指定します。
  • addView() を呼び出すことで、LinearLayoutにTextViewが追加され、画面に表示されます。

手順4:AndroidManifest.xml を確認する

androidManifest.xml には、以下のように MainActivity がランチャーアクティビティとして登録されていることを確認してください。

<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="https://schemas.android.com/apk/res/android" package="app.com.sample">
    <application
        android:allowBackup="true"
        android:icon="@mipmap/ic_launcher"
        android:label="@string/app_name"
        android:roundIcon="@mipmap/ic_launcher_round"
        android:supportsRtl="true"
        android:theme="@style/AppTheme">
        <activity android:name=".MainActivity">
            <intent-filter>
               <action android:name="android.intent.action.MAIN" />
               <category android:name="android.intent.category.LAUNCHER" />
           </intent-filter>
        </activity>
    </application>
</manifest>

アプリを実行して結果を確認する

それでは、アプリを実行してみましょう。ここでは、実機のAndroidスマートフォンがPCに接続されているものとします。Android Studioからアプリを起動するには、プロジェクト内のいずれかのアクティビティファイルを開き、ツールバーの「Run」アイコンをクリックします。デバイス選択ダイアログで接続したモバイル端末を選択すると、端末の画面に以下のように動的に追加されたTextViewが表示されます。

【Android】TextViewをLinearLayoutに動的に追加する方法【サンプルコード付き】

  1. AndroidのTextViewに改行を追加する方法をサンプルコード付きで解説

    この記事では、AndroidアプリのTextViewに改行を追加する方法を、サンプルコードとともにステップごとに解説します。 TextViewで改行する仕組み strings.xmlで文字列リソースを定義する際、改行したい位置に改行コード「\n」を挿入するだけで、TextView内のテキストを改行して表示できます。Javaコードを複雑にする必要はありません。 実装手順 ステップ1:新規プロジェクトを作成する Android Studioを起動し、「File」→「New Project」を選択します。必要な項目をすべて入力して、新しいプロジェクトを作成しましょう。 ステップ2:レイアウトファイル

  2. 【Android】TextViewでテキストを両端揃え(ジャスティファイ)表示する方法

    概要 本記事では、AndroidアプリのTextViewに表示するテキストを両端揃え(ジャスティファイ)にする方法を、サンプルコードとともにわかりやすく解説します。 TextViewで両端揃えを実現するには、android:justificationMode=inter_wordを指定するだけです。この機能はAndroid 8.0(APIレベル26)以降で有効になるため、それ以前のOSバージョンでは無視される点に注意してください。 手順1:新規プロジェクトを作成する まず、Android Studioを起動し、メニューから「File」⇒「New Project」を選択します。必要な項目をす