Computer >> Hướng Dẫn Máy Tính >  >> Lập Trình >> Android

Cách căn giữa văn bản ngang và dọc trong TextView Android

Giới thiệu

Hướng dẫn này trình bày cách căn giữa văn bản theo chiều ngang (horizontal) và chiều dọc (vertical) trong TextView Android sử dụng thuộc tính gravity.

Các bước thực hiện

Bước 1: Tạo dự án mới

Mở Android Studio, chọn File → New Project và điền thông tin cần thiết.

Bước 2: Thiết kế giao diện (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">
    <!-- Chỉ căn giữa dọc -->
    <TextView
        android:layout_width="match_parent"
        android:layout_height="match_parent"
        android:gravity="center_vertical"
        android:text="Văn bản căn giữa dọc (center_vertical)" />
    
    <!-- Chỉ căn giữa ngang -->
    <TextView
        android:layout_width="match_parent"
        android:layout_height="match_parent"
        android:gravity="center_horizontal"
        android:text="Văn bản căn giữa ngang (center_horizontal)" />
</RelativeLayout>

Bước 3: Logic chính (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);
        // Không cần code Java, mọi thứ xử lý bằng XML
    }
}

Bước 4: Cấu hình Manifest (androidManifest.xml)

<?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>

Các giá trị gravity phổ biến

Giá trị Mô tả
center Căn giữa cả ngang và dọc (center_horizontal + center_vertical)
center_horizontal Căn giữa theo chiều ngang
center_vertical Căn giữa theo chiều dọc
start / left Căn trái (start phụ thuộc RTL)
end / right Căn phải (end phụ thuộc RTL)
top Căn trên
bottom Căn dưới
fill_horizontal Giãn nở ngang
fill_vertical Giãn nở dọc
fill Giãn nở cả hai chiều

Kết hợp nhiều giá trị

<TextView
    android:gravity="center_horizontal|top"  --> Căn giữa ngang, trên cùng
    android:gravity="center|start"           --> Căn giữa, trái (RTL-aware)
    android:gravity="bottom|end"             --> Dưới cùng, phải
/>

Lưu ý: gravity vs layout_gravity

  • android:gravity - Căn chỉnh nội dung bên trong View (text, drawable)
  • android:layout_gravity - Căn chỉnh View bên trong parent container

Chạy ứng dụng

Kết nối thiết bị Android, nhấn Run trong Android Studio. Hai TextView sẽ hiển thị căn giữa dọc và căn giữa ngang tương ứng.

Cách căn giữa văn bản ngang và dọc trong TextView Android