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

まとめ
TextViewのテキスト位置はandroid:gravity属性で簡単に制御できます。垂直方向のみならcenter_vertical、水平方向のみならcenter_horizontal、両方ならcenterを指定しましょう。ボタンやLinearLayoutなど他のViewでも同じ考え方が使えるので、ぜひ覚えておいてください。
-
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
-
Androidでコピー&ペーストを使う方法|テキスト・リンク・切り取り操作を徹底解説
カット/コピー&ペーストを発明したラリー・テスラー氏に、世界は永遠に感謝すべきでしょう。シンプルでありながら不可欠なこの機能は、コンピューティングに欠かせない存在です。コピー&ペーストのないデジタルの世界など想像できません。同じメッセージを何度も入力するのはストレスですし、コピー&ペーストなしで複数のデジタルデータを作成するのはほぼ不可能でしょう。 時代とともに、スマートフォンは日常的なテキスト入力の主役となりました。そのため、AndroidやiOSなどモバイルOSにコピー&ペースト機能がなければ、日々の作業は成り立ちません。 本記事では、テキストをある場所から別の場所へコピー&ペーストするさ