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

【Android】TextViewのテキストを水平・垂直方向の中央に配置する方法

はじめに

Androidアプリ開発では、TextView内のテキストを画面の中央に配置したい場面がよくあります。この記事では、android:gravity属性を使って、テキストを水平方向・垂直方向それぞれの中央に配置する方法を、実際のコード例とともにわかりやすく解説します。

gravity属性の基本

android:gravityは、Viewの内部にあるコンテンツ(テキストなど)の表示位置を制御する属性です。主な値は以下の通りです。

  • center_vertical … 垂直方向の中央に配置
  • center_horizontal … 水平方向の中央に配置
  • center … 水平・垂直両方の中央に配置

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

Android Studioを起動し、メニューから「File」→「New Project」を選択します。必要な項目を入力して、新しいプロジェクトを作成してください。

手順2:レイアウトファイル(activity_main.xml)を編集する

res/layout/activity_main.xmlに以下のコードを記述します。

<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="https://schemas.android.com/apk/res/android"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:layout_margin="16dp">
    <TextView
        android:layout_width="match_parent"
        android:layout_height="match_parent"
        android:gravity="center_vertical"
        android:text="Text in Center Vertical" />
    <TextView
        android:layout_width="match_parent"
        android:layout_height="match_parent"
        android:gravity="center_horizontal"
        android:text="Text in Center Horizontal" />
</RelativeLayout>

この例では2つのTextViewを配置しています。1つ目はandroid:gravity="center_vertical"によりテキストを垂直方向の中央に、2つ目はandroid:gravity="center_horizontal"により水平方向の中央に表示します。両方を一度に指定したい場合は、android:gravity="center"と書くだけでOKです。

手順3:MainActivity.javaを編集する

src/MainActivity.javaに以下のコードを記述します。特別な処理は不要で、作成したレイアウトを読み込むだけです。

package app.com.sample;
import android.os.Bundle;
import androidx.appcompat.app.AppCompatActivity;
public class MainActivity extends AppCompatActivity {
    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
    }
}

手順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)アイコンをクリックします。デバイス選択画面で接続したスマートフォンを選択すると、端末上にアプリが起動し、テキストが中央に配置された画面が表示されます。

【Android】TextViewのテキストを水平・垂直方向の中央に配置する方法

まとめ

TextViewのテキスト位置はandroid:gravity属性で簡単に制御できます。垂直方向のみならcenter_vertical、水平方向のみならcenter_horizontal、両方ならcenterを指定しましょう。ボタンやLinearLayoutなど他のViewでも同じ考え方が使えるので、ぜひ覚えておいてください。

  1. CSSでボタンを上下左右の中央に配置する方法【Flexbox活用】

    CSSでボタンを垂直方向・水平方向の中央に配置するには、Flexbox(フレックスボックス)を使うのが最も簡単で確実な方法です。親要素にdisplay: flex;を指定し、justify-content: center;で水平方向の中央揃え、align-items: center;で垂直方向の中央揃えを実現できます。 コード例 <!DOCTYPE html> <html> <head> <style> body { font-family: "Segoe UI", Tahoma, Geneva, Ve

  2. Androidでコピー&ペーストを使う方法|テキスト・リンク・切り取り操作を徹底解説

    カット/コピー&ペーストを発明したラリー・テスラー氏に、世界は永遠に感謝すべきでしょう。シンプルでありながら不可欠なこの機能は、コンピューティングに欠かせない存在です。コピー&ペーストのないデジタルの世界など想像できません。同じメッセージを何度も入力するのはストレスですし、コピー&ペーストなしで複数のデジタルデータを作成するのはほぼ不可能でしょう。 時代とともに、スマートフォンは日常的なテキスト入力の主役となりました。そのため、AndroidやiOSなどモバイルOSにコピー&ペースト機能がなければ、日々の作業は成り立ちません。 本記事では、テキストをある場所から別の場所へコピー&ペーストするさ