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

ActionBarActivity के एक्शन बार का बैकग्राउंड रंग कैसे बदलें?

Android में एक्शन बार/टूलबार का बैकग्राउंड रंग बदलना

यह ट्यूटोरियल दिखाता है कि कैसे थीम और स्टाइल्स का उपयोग करके एक्शन बार (या आधुनिक Toolbar) का बैकग्राउंड रंग कस्टमाइज़ किया जाता है।

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

Android Studio में नया प्रोजेक्ट बनाएं।

चरण 2: बेसिक लेआउट

res/layout/activity_main.xml:

<?xml version="1.0" encoding="utf-8"?>
<androidx.constraintlayout.widget.ConstraintLayout
    xmlns:android="https://schemas.android.com/apk/res/android"
    xmlns:app="https://schemas.android.com/apk/res-auto"
    android:layout_width="match_parent"
    android:layout_height="match_parent">
    <TextView
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:text="हैलो वर्ल्ड!"
        app:layout_constraintBottom_toBottomOf="parent"
        app:layout_constraintLeft_toLeftOf="parent"
        app:layout_constraintRight_toRightOf="parent"
        app:layout_constraintTop_toTopOf="parent" />
</androidx.constraintlayout.widget.ConstraintLayout>

चरण 3: स्टाइल्स में रंग परिभाषित करें

res/values/styles.xml (या themes.xml):

<resources>
    <!-- रंग परिभाषित करें -->
    <color name="custom_actionbar_bg">#995544</color>
    <color name="custom_actionbar_text">#976325</color>

    <style name="AppTheme" parent="Theme.MaterialComponents.DayNight.DarkActionBar">
        <item name="colorPrimary">@color/custom_actionbar_bg</item>
        <item name="colorPrimaryDark">#773322</item>
        <item name="colorAccent">@color/teal_200</item>
        
        <!-- एक्शन बार टाइटल टेक्स्ट कलर -->
        <item name="actionBarTheme">@style/ActionBarTheme</item>
    </style>

    <style name="ActionBarTheme" parent="ThemeOverlay.MaterialComponents.Dark.ActionBar">
        <item name="android:textColorPrimary">@color/custom_actionbar_text</item>
    </style>

    <!-- वैकल्पिक: टूलबार के लिए अलग स्टाइल -->
    <style name="CustomToolbarStyle" parent="Widget.MaterialComponents.Toolbar.Primary">
        <item name="android:background">@color/custom_actionbar_bg</item>
        <item name="titleTextColor">@color/custom_actionbar_text</item>
        <item name="subtitleTextColor">@android:color/white</item>
    </style>
</resources>

चरण 4: Toolbar उपयोग करें (आधुनिक तरीका - अनुशंसित)

res/layout/activity_main.xml में Toolbar जोड़ें:

<androidx.appcompat.widget.Toolbar
    android:id="@+id/toolbar"
    android:layout_width="match_parent"
    android:layout_height="?attr/actionBarSize"
    android:background="@color/custom_actionbar_bg"
    android:theme="@style/ActionBarTheme"
    app:titleTextColor="@color/custom_actionbar_text"
    app:subtitleTextColor="@android:color/white" />

src/MainActivity.java में Toolbar सेट करें:

package com.app.sample;

import androidx.appcompat.app.AppCompatActivity;
import androidx.appcompat.widget.Toolbar;
import android.os.Bundle;

public class MainActivity extends AppCompatActivity {
    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
        
        Toolbar toolbar = findViewById(R.id.toolbar);
        setSupportActionBar(toolbar);
        
        // टाइटल सेट करें
        if (getSupportActionBar() != null) {
            getSupportActionBar().setTitle("कस्टम टूलबार");
            getSupportActionBar().setSubtitle("उपशीर्षक");
        }
    }
}

चरण 5: प्रोग्रामेटिकली रंग बदलें

// रनटाइम पर टूलबार रंग बदलें
toolbar.setBackgroundColor(ContextCompat.getColor(this, R.color.new_color));

// या ड्रॉएबल सेट करें
toolbar.setBackgroundResource(R.drawable.gradient_background);

// एक्शन बार (पुराना) के लिए
if (getSupportActionBar() != null) {
    getSupportActionBar().setBackgroundDrawable(
        new ColorDrawable(Color.parseColor("#995544")));
}

चरण 6: मैनिफेस्ट

AndroidManifest.xml - NoActionBar थीम उपयोग करें अगर Toolbar उपयोग कर रहे हैं:

<application
    android:theme="@style/AppTheme">
    <activity
        android:name=".MainActivity"
        android:theme="@style/AppTheme"> <!-- या AppTheme.NoActionBar -->
        ...
    </activity>
</application>

ActionBar vs Toolbar

विशेषताActionBar (पुराना)Toolbar (आधुनिक)
लचीलापनसीमितपूर्ण - कहीं भी रखें
कस्टमाइजेशनस्टाइल्स के माध्यम सेXML + प्रोग्रामेटिक दोनों
एनिमेशनमुश्किलआसान (CoordinateLayout के साथ)
मल्टीपलनहींहां - एक स्क्रीन पर कई

बेस्ट प्रैक्टिसेज

  • नए ऐप्स में हमेशा Toolbar उपयोग करें
  • Theme.MaterialComponents थीम्स उपयोग करें
  • रंगों को colors.xml में सेंट्रलाइज़ करें
  • डार्क मोड के लिए वैकल्पिक रंग परिभाषित करें
  • एक्सेसिबिलिटी: कंट्रास्ट अनुपात 4.5:1 बनाए रखें
  1. Tkinter में Treeview का बैकग्राउंड कलर कैसे बदलें? Tkinter में Treeview का बैकग्राउंड कलर कैसे बदलें?

    Treeview विजेट को हायरार्किकल स्ट्रक्चर में डेटा डिस्प्ले करने के लिए डिज़ाइन किया गया है। इसका उपयोग डायरेक्टरीज़, चाइल्ड डायरेक्टरीज़ या फाइल्स को लिस्ट के रूप में डिस्प्ले करने के लिए किया जा सकता है। लिस्टबॉक्स में मौजूद आइटम्स को लिस्टबॉक्स आइटम्स कहा जाता है। Treeview विजेट में कई प्रॉपर्टीज़

  1. iOS पर नोट्स की पृष्ठभूमि रंग कैसे बदलें iOS पर नोट्स की पृष्ठभूमि रंग कैसे बदलें

    यदि आप iOS में नोट्स ऐप का उपयोग कर रहे हैं, तो आप शायद इससे नफरत करते हैं कि यह आपके डिवाइस की सेटिंग के आधार पर एक सादा पृष्ठभूमि उपयोग करता है। यदि आपने लाइट मोड सक्षम किया है, तो आपको एक हल्की पृष्ठभूमि दिखाई देगी, और डार्क मोड का उपयोग करते समय एक डार्क पृष्ठभूमि। हालांकि, आप iOS में एक नोट की

  1. इंस्टाग्राम स्टोरी बैकग्राउंड कलर आसानी से कस्टमाइज़ करें: चरणबद्ध गाइड इंस्टाग्राम स्टोरी बैकग्राउंड कलर आसानी से कस्टमाइज़ करें: चरणबद्ध गाइड

    इंस्टाग्राम सोशल मीडिया उत्साही लोगों के लिए एक अद्भुत प्लेटफॉर्म है। चाहे अपने फोटोग्राफी कौशल का प्रदर्शन करना हो या अपनी नवीनतम सोलो-ट्रिप की स्पष्ट तस्वीरें शेयर करना हो, इंस्टाग्राम एक आदर्श माध्यम है। इसकी अनूठी विशेषताओं, कूल इंटरफेस और अंतहीन संभावनाओं के कारण, इंस्टाग्राम बेहद लोकप्रिय है,