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

Cách tạo nền mờ (blur) cho Activity trong Android

Giới thiệu

Ví dụ này minh họa cách tạo nền mờ (blur background) cho Activity trong Android. Lưu ý: Tiêu đề gốc viết "blue" nhưng code sử dụng FLAG_BLUR_BEHIND nên đây là hiệu ứng blur (mờ).

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: Cấu hình layout (res/layout/activity_main.xml)

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="https://schemas.android.com/apk/res/android"
    xmlns:app="https://schemas.android.com/apk/res-auto"
    xmlns:tools="https://schemas.android.com/tools"
    android:layout_width="match_parent"
    android:gravity="center"
    android:layout_height="match_parent"
    tools:context=".MainActivity"
    android:background="@drawable/ic_launcher_background"
    android:orientation="vertical">

    <TextView
        android:id="@+id/text"
        android:textSize="30sp"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content" />

</LinearLayout>

Layout đơn giản với TextView và background drawable.

Bước 3: Viết code logic (src/MainActivity.java)

package com.example.myapplication;

import android.os.Build;
import android.os.Bundle;
import android.support.annotation.RequiresApi;
import android.support.v7.app.AppCompatActivity;
import android.telephony.TelephonyManager;
import android.view.WindowManager;
import android.widget.TextView;

public class MainActivity extends AppCompatActivity {

    private static final int PERMISSION_REQUEST_CODE = 100;
    TextView textView;
    TelephonyManager telephonyManager;

    @RequiresApi(api = Build.VERSION_CODES.P)
    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        getWindow().setFlags(WindowManager.LayoutParams.FLAG_BLUR_BEHIND,
                WindowManager.LayoutParams.FLAG_BLUR_BEHIND);
        setContentView(R.layout.activity_main);

        textView = findViewById(R.id.text);
        textView.setText("Blur Behind Flag");
    }
}

Điểm quan trọng: getWindow().setFlags(WindowManager.LayoutParams.FLAG_BLUR_BEHIND, ...) để bật hiệu ứng blur cho nền Activity.

Chạy ứng dụng

Kết nối thiết bị, nhấn Run. Màn hình sẽ hiển thị Activity với nền mờ (blur).

Cách tạo nền mờ (blur) cho Activity trong Android