एंड्रॉइड में ब्लर (धुंधला) एक्टिविटी बैकग्राउंड बनाना
यह उदाहरण WindowManager.LayoutParams.FLAG_BLUR_BEHIND फ्लैग का उपयोग करके एक्टिविटी के पीछे ब्लर इफेक्ट बनाने का तरीका दिखाता है।
⚠️ महत्वपूर्ण नोट
FLAG_BLUR_BEHIND Android 3.0 (API 11) से डिप्रिकेटेड है और आधुनिक एंड्रॉइड वर्जन पर काम नहीं करता। यह केवल बहुत पुराने वर्जन (Android 2.x) पर काम करता था। आधुनिक ऐप्स के लिए RenderScript, RenderEffect, या तीसरे पक्ष की लाइब्रेरी (जैसे Blurry) का उपयोग करें।
चरण 1: नया प्रोजेक्ट बनाएं
Android Studio में नया प्रोजेक्ट बनाएं।
चरण 2: लेआउट फ़ाइल
<?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:layout_height="match_parent"
android:gravity="center"
android:orientation="vertical"
android:background="@drawable/ic_launcher_background"
tools:context=".MainActivity">
<TextView
android:id="@+id/text"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:textSize="30sp" />
</LinearLayout>
चरण 3: 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.view.WindowManager;
import android.widget.TextView;
public class MainActivity extends AppCompatActivity {
private TextView textView;
@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("ब्लर बिहाइंड फ्लैग (डिप्रिकेटेड)");
}
}
आधुनिक विकल्प (Android 12+ API 31)
नए एंड्रॉइड वर्जन के लिए RenderEffect का उपयोग करें:
// Android 12+ (API 31)
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.S) {
// बैकग्राउंड व्यू पर ब्लर इफेक्ट लागू करें
View backgroundView = findViewById(R.id.background_view);
backgroundView.setRenderEffect(RenderEffect.createBlurEffect(20f, 20f, Shader.TileMode.CLAMP));
}
// या Window के लिए (Android 14+ API 34)
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.UPSIDE_DOWN_CAKE) {
getWindow().setBackgroundBlurRadius(20);
}
तीसरे पक्ष की लाइब्रेरी (सभी वर्जन के लिए)
// build.gradle में जोड़ें
implementation 'jp.wasabeef:blurry:4.0.0'
// उपयोग:
Blurry.with(context)
.radius(20)
.sampling(2)
.onto(backgroundView);
ऐप चलाएं
पुराने डिवाइस पर ब्लर इफेक्ट दिख सकता है, लेकिन आधुनिक डिवाइस पर कोई इफेक्ट नहीं होगा।
