Computer >> कंप्यूटर ट्यूटोरियल >  >> प्रोग्रामिंग >> Android

एंड्रॉइड एक्टिविटी का बैकग्राउंड कलर प्रोग्रामेटिकली पीला कैसे सेट करें?

एंड्रॉइड एक्टिविटी का बैकग्राउंड कलर प्रोग्रामेटिकली सेट करना

एक्टिविटी/व्यू का बैकग्राउंड कलर बदलने के दो मुख्य तरीके हैं: **XML में एट्रिब्यूट** (स्टेटिक) या **Java/Kotlin कोड में** (डायनामिक)। यह ट्यूटोरियल प्रोग्रामेटिक तरीका दिखाता है।

चरण 1: नया प्रोजेक्ट बनाएं

Android Studio → File → New → New Project → "Empty Activity" → Finish।

चरण 2: Layout (activity_main.xml) — रूट व्यू को ID दें

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="https://schemas.android.com/apk/res/android"
    android:id="@+id/rootLayout"  <!-- रेफरेंस के लिए ID -->
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:orientation="vertical"
    android:gravity="center"
    android:padding="24dp">

    <TextView
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:text="इस एक्टिविटी का बैकग्राउंड पीला है"
        android:textSize="20sp"
        android:textStyle="bold"
        android:textColor="#000000"
        android:gravity="center" />

</LinearLayout>

चरण 3: MainActivity.java — setBackgroundColor()

package com.example.backgroundcolordemo;

import android.graphics.Color;
import android.os.Bundle;
import android.view.View;
import android.widget.LinearLayout;
import androidx.appcompat.app.AppCompatActivity;

public class MainActivity extends AppCompatActivity {

    private View rootLayout;

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

        // रूट व्यू प्राप्त करें
        rootLayout = findViewById(R.id.rootLayout);

        // तरीका 1: Color क्लास के बिल्ट-इन कांस्टेंट्स
        rootLayout.setBackgroundColor(Color.YELLOW);

        // तरीका 2: RGB मान से (0-255)
        // rootLayout.setBackgroundColor(Color.rgb(255, 255, 0));

        // तरीका 3: ARGB (अल्फा + RGB) — पारदर्शिता के लिए
        // rootLayout.setBackgroundColor(Color.argb(200, 255, 255, 0)); // 200/255 अल्फा

        // तरीका 4: हेक्स स्ट्रिंग पार्स करके
        // rootLayout.setBackgroundColor(Color.parseColor("#FFFF00"));

        // तरीका 5: रिसोर्स कलर (res/values/colors.xml में डिफ़ाइन)
        // rootLayout.setBackgroundColor(ContextCompat.getColor(this, R.color.my_yellow));
    }
}

चरण 4: Colors.xml (res/values/colors.xml) — रिसोर्स कलर डिफ़ाइन करें

<?xml version="1.0" encoding="utf-8"?>
<resources>
    <color name="my_yellow">#FFFF00</color>
    <color name="my_yellow_translucent">#CCFFFF00</color> <!-- 80% अपारदर्शिता -->
</resources>

चरण 5: AndroidManifest.xml

<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="https://schemas.android.com/apk/res/android"
    package="com.example.backgroundcolordemo">

    <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/Theme.BackgroundColorDemo">

        <activity
            android:name=".MainActivity"
            android:exported="true">
            <intent-filter>
                <action android:name="android.intent.action.MAIN" />
                <category android:name="android.intent.category.LAUNCHER" />
            </intent-filter>
        </activity>

    </application>
</manifest>

चलाएं और टेस्ट करें

  1. ऐप खोलें — पूरा स्क्रीन पीला दिखेगा, बीच में काला टेक्स्ट।
  2. कोड में अलग-अलग तरीके अनकमेंट करके टेस्ट करें।

🎨 Color क्लास के मुख्य मेथड्स

मेथडविवरणउदाहरण
Color.RED, Color.BLUE, ...प्रीडिफ़ाइनड कलर्सColor.YELLOW
Color.rgb(r, g, b)RGB से कलर इंट (अल्फा=255)Color.rgb(255, 165, 0) → नारंगी
Color.argb(a, r, g, b)ARGB से कलर इंटColor.argb(128, 255, 0, 0) → 50% पारदर्शी लाल
Color.parseColor("#RRGGBB")हेक्स स्ट्रिंग से पार्सColor.parseColor("#FF00FF")
Color.parseColor("#AARRGGBB")हेक्स स्ट्रिंग (अल्फा सहित)Color.parseColor("#80FF0000")
Color.HSVToColor(hsv[])HSV ऐरे से कलरfloat[] hsv = {0, 1, 1}; Color.HSVToColor(hsv)
Color.colorToHSV(color, hsv[])कलर को HSV में बदलेंरिवर्स ऑपरेशन

🖼️ बैकग्राउंड के अन्य प्रकार

// ड्रॉएबल रिसोर्स (इमेज, शेप, ग्रेडिएंट)
rootLayout.setBackgroundResource(R.drawable.my_background);

// ड्रॉएबल ऑब्जेक्ट (ग्रेडिएंट, शेप, लेयर-लिस्ट प्रोग्रामेटिकली)
GradientDrawable gradient = new GradientDrawable(
    GradientDrawable.Orientation.LEFT_RIGHT,
    new int[]{Color.YELLOW, Color.RED}
);
rootLayout.setBackground(gradient);

// XML में ग्रेडिएंट (res/drawable/bg_gradient.xml)
/*
<shape xmlns:android="...">
    <gradient
        android:startColor="#FFFF00"
        android:endColor="#FF0000"
        android:angle="0" />
</shape>
*/
// फिर: rootLayout.setBackgroundResource(R.drawable.bg_gradient);

⚠️ सामान्य गलतियाँ

  • थीम/स्टाइल ओवरराइड: अगर थीम में android:windowBackground सेट है, तो रूट व्यू का बैकग्राउंड उससे ढक सकता है। getWindow().setBackgroundDrawable(null) या थीम में @android:color/transparent सेट करें।
  • सही व्यू रेफरेंस: findViewById(android.R.id.content) विंडो कंटेंट रूट देता है, लेकिन लेआउट रूट (R.id.rootLayout) बेहतर है।
  • setBackgroundColor() vs setBackground(): पहला केवल सॉलिड कलर, दूसरा कोई भी Drawable स्वीकार करता है।

सारांश

  • ✅ view.setBackgroundColor(Color.YELLOW) — सबसे सरल तरीका।
  • ✅ Color.rgb(), Color.argb(), Color.parseColor() — डायनामिक कलर के लिए।
  • ✅ ContextCompat.getColor(context, R.color.name) — रिसोर्स कलर (थीम-अवेयर)।
  • 🎨 ग्रेडिएंट/इमेज/शेप के लिए setBackground(Drawable) या setBackgroundResource() उपयोग करें।
  • 🎯 रूट लेआउट व्यू पर सेट करें, न कि एक्टिविटी पर सीधे।
  1. ActionBarActivity के एक्शन बार का बैकग्राउंड रंग कैसे बदलें? ActionBarActivity के एक्शन बार का बैकग्राउंड रंग कैसे बदलें?

    Android में एक्शन बार/टूलबार का बैकग्राउंड रंग बदलना यह ट्यूटोरियल दिखाता है कि कैसे थीम और स्टाइल्स का उपयोग करके एक्शन बार (या आधुनिक Toolbar) का बैकग्राउंड रंग कस्टमाइज़ किया जाता है। चरण 1: प्रोजेक्ट बनाएं Android Studio में नया प्रोजेक्ट बनाएं। चरण 2: बेसिक लेआउट res/layout/activity_main.xml:

  1. एंड्रॉइड में ऑप्शन मेनू का बैकग्राउंड रंग कैसे बदलें एंड्रॉइड में ऑप्शन मेनू का बैकग्राउंड रंग कैसे बदलें

    स्टाइल्स और थीम्स के माध्यम से ऑप्शन मेनू का रंग बदलना एंड्रॉइड में ऑप्शन मेनू (टूलबार/एक्शन बार मेनू) का बैकग्राउंड और टेक्स्ट रंग बदलने के लिए स्टाइल्स/थीम्स का उपयोग करना सबसे सही तरीका है। यह विधि पूरे ऐप में सुसंगत स्टाइलिंग सुनिश्चित करती है। चरण 1: नया प्रोजेक्ट बनाएं Android Studio में File

  1. HTML में बैकग्राउंड कलर कैसे सेट करें? HTML में बैकग्राउंड कलर कैसे सेट करें?

    परिचय HTML में बैकग्राउंड कलर सेट करने के लिए, style एट्रिब्यूट का उपयोग करें। style एट्रिब्यूट एक एलिमेंट के लिए इंलाइन स्टाइल निर्दिष्ट करता है। यह एट्रिब्यूट HTML <body> टैग के साथ, CSS प्रॉपर्टी background-color के साथ उपयोग किया जाता है। HTML5 <body> टैग के bgcolor एट्रिब्यूट का सम