AndroidのTextViewで文字の表示位置を変える方法

2019年5月16日

TextViewやEditTextなどの文字を表示するコンポーネントにおいて、

文字の表示位置を指定するにはJavaかXmlで指定する場合の二通りがあります。

 

結論から言うとJavaとXmlのどちらでも表示位置を指定できるので、

どちらを使用しても問題ありませんが両方の使い方を見ていきましょう。

 

 

Javaを使用してTextViewの表示位置を変更する方法について

Javaを使用して表示位置を変更するにはsetGravityかsetTextAlignmentを使用する方法があります。

 

ただ、setTextAlignmentはAPIレベル17以上でないと使用できませんので、

古いバージョンのOSに対応する必要がある場合はsetGravityを使用しましょう。

 

本稿では、汎用的に使用できるsetGravityの使い方とXmlコードで指定する場合の2通りを説明していきます。

それでは次の項を見ていきましょう。

 

 

setGravityを使用してJavaコードで文字の表示位置を変える方法

setGravityの使い方を見ていきましょう。

下記のコードでは、EditTextの文字を右寄りに表示しています。

    //エディットテキストを取得
    EditText editText = (EditText)findViewById(R.id.editText);
    //テキストを右寄りに表示する
    editText.setGravity(Gravity.RIGHT);

setGravityで指定できる表示位置の一覧

Gravityの定数 概要
Gravity.RIGHT 右寄りに表示する
Gravity.LEFT 左寄りに表示する
Gravity.CENTER 中央寄りに表示する
Gravity.TOP 上寄りに表示する
Gravity.BOTTOM 下寄りに表示する

 

 

Xmlを使用してTextViewの表示位置を変更する方法

Xmlを使用してTextViewの表示位置を変更するには、

レイアウトファイルの中で、Gravity属性を使用します。

 

gravity属性を使用して文字の表示位置を変更

d<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
  android:orientation="vertical"
  android:layout_width="fill_parent"
  android:layout_height="fill_parent"
  >
  <TextView android:id="@+id/text01_id"
    android:layout_width="fill_parent"
    android:layout_height="wrap_content"
    android:height="50sp"
    android:background="#FFFFFF"
    android:textColor="#000000"
    android:text="CENTER"
    android:gravity="center"
    />
  <TextView android:id="@+id/text02_id"
    android:layout_width="fill_parent"
    android:layout_height="wrap_content"
    android:height="50sp"
    android:background="#FF0000"
    android:textColor="#FFFFFF"
    android:text="RIGHT"
    android:gravity="right"
    />
  <TextView android:id="@+id/text03_id"
    android:layout_width="fill_parent"
    android:layout_height="wrap_content"
    android:height="50sp"
    android:background="#0000FF"
    android:textColor="#FFFFFF"
    android:text="TOP|CENTER"
    android:gravity="top|center"
    />
  <TextView android:id="@+id/text04_id"
    android:layout_width="fill_parent"
    android:layout_height="wrap_content"
    android:height="50sp"
    android:background="#00FF00"
    android:textColor="#000000"
    android:text="LEFT|BOTTOM"
    android:gravity="left|bottom"
    />
</LinearLayout>

 

まとめ

  • 文字の表示位置を変更する方法は、JavaコードとXmlコードの二通りがある。
  • Javaコードで変更する方法は、動的に表示位置を変更する場合に適しており、setGravityかsetTextAlignmentを使用する。
    • setTextAlignmentはAPIレベル17以上でないと使用できないため、古いバージョンのOSに対応させる場合は、setGravityを使用する。
  • Xmlコードで変更する方法は、静的に表示位置を変更する場合に適しており、gravity属性を使用する。

にほんブログ村 IT技術ブログ IT技術情報へ
にほんブログ村