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

Cách thay đổi style TextView tại runtime trong Android

Giới thiệu

Bài viết này hướng dẫn cách thay đổi kiểu dáng (style) của TextView tại thời điểm chạy (runtime) trong Android.

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 đầy đủ thông tin để tạo dự án mới.

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"
    xmlns:tools="https://schemas.android.com/tools"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    tools:context=".MainActivity">

    <TextView
        android:id="@+id/textView"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:text="Chúc bạn một ngày tốt lành!"
        android:textSize="36sp"
        android:layout_centerInParent="true" />

</RelativeLayout>

Bước 3: Định nghĩa Style (res/values/styles.xml)

<resources>
    <style name="boldText">
        <item name="android:textStyle">bold|italic</item>
        <item name="android:textColor">#FFFFFF</item>
    </style>

    <style name="normalText">
        <item name="android:textStyle">normal</item>
        <item name="android:textColor">#C0C0C0</item>
    </style>
</resources>

Bước 4: Định nghĩa màu sắc (res/values/strings.xml)

<resources>
    <string name="app_name">Sample</string>
    <color name="highlightedTextViewColor">#000088</color>
    <color name="normalTextViewColor">#000044</color>
</resources>

Bước 5: Viết code xử lý (src/MainActivity.java)

import android.os.Build;
import android.support.v7.app.AppCompatActivity;
import android.os.Bundle;
import android.view.View;
import android.widget.TextView;

public class MainActivity extends AppCompatActivity {

    TextView textView;

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);

        textView = findViewById(R.id.textView);
        textView.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View v) {
                if (Build.VERSION.SDK_INT < 23) {
                    textView.setTextAppearance(getApplicationContext(), R.style.boldText);
                } else {
                    textView.setTextAppearance(R.style.boldText);
                }
                textView.setBackgroundResource(R.color.highlightedTextViewColor);
            }
        });
    }
}

Bước 6: 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>

Chạy ứng dụng

Kết nối thiết bị Android thực với máy tính. Trong Android Studio, mở file activity và nhấn biểu tượng Run trên thanh công cụ. Chọn thiết bị di động của bạn và kiểm tra màn hình hiển thị.

Cách thay đổi style TextView tại runtime trong Android

Cách thay đổi style TextView tại runtime trong Android