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

Kotlin का उपयोग करके Android में मेनू आइटम का टेक्स्ट रंग कैसे बदलें?

यह उदाहरण दर्शाता है कि Kotlin में स्टाइल्स और थीम्स का उपयोग करके ऑप्शन मेनू आइटम के टेक्स्ट रंग और पृष्ठभूमि रंग को कैसे बदला जाए।

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

Android Studio: File → New Project।

चरण 2 - colors.xml में रंग परिभाषित करें

<?xml version="1.0" encoding="utf-8"?>
<resources>
    <color name="colorPrimary">#6200EE</color>
    <color name="colorPrimaryDark">#3700B3</color>
    <color name="colorAccent">#03DAC5</color>
    <color name="skyBlue">#87CEEB</color>
    <color name="menuTextColor">#FF000F</color> <!-- लाल टेक्स्ट -->
</resources>

चरण 3 - styles.xml में मेनू थीम अनुकूलित करें

<resources>
    <style name="AppTheme" parent="Theme.AppCompat.Light.DarkActionBar">
        <item name="colorPrimary">@color/colorPrimary</item>
        <item name="colorPrimaryDark">@color/colorPrimaryDark</item>
        <item name="colorAccent">@color/colorAccent</item>
        
        <!-- मेनू आइटम पृष्ठभूमि -->
        <item name="android:itemBackground">@color/skyBlue</item>
        
        <!-- मेनू आइटम टेक्स्ट रंग -->
        <item name="android:textColor">@color/menuTextColor</item>
        
        <!-- ActionBar/Toolbar पॉपअप थीम (ओवरफ्लो मेनू के लिए) -->
        <item name="actionOverflowMenuStyle">@style/OverflowMenu</item>
    </style>

    <style name="OverflowMenu" parent="Widget.AppCompat.PopupMenu.Overflow">
        <item name="android:popupBackground">@color/skyBlue</item>
    </style>
</resources>

चरण 4 - res/menu/menu_items.xml मेनू संसाधन

<?xml version="1.0" encoding="utf-8"?>
<menu xmlns:android="https://schemas.android.com/apk/res/android"
    xmlns:app="https://schemas.android.com/apk/res-auto">
    <item
        android:id="@+id/option_menu_item_1"
        android:orderInCategory="1"
        android:title="मेनू 1"
        app:showAsAction="never" />
    <item
        android:id="@+id/option_menu_item_2"
        android:orderInCategory="2"
        android:title="मेनू 2"
        app:showAsAction="never" />
    <item
        android:id="@+id/option_menu_item_3"
        android:orderInCategory="3"
        android:title="मेनू 3"
        app:showAsAction="never" />
</menu>

चरण 5 - 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:layout_centerHorizontal="true"
        android:layout_marginTop="70dp"
        android:background="#008080"
        android:padding="5dp"
        android:text="TutorialsPoint"
        android:textColor="#fff"
        android:textSize="24sp"
        android:textStyle="bold" />
    <TextView
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_centerInParent="true"
        android:text="ऑप्शन मेनू पृष्ठभूमि और टेक्स्ट रंग बदलना"
        android:textAlignment="center"
        android:textColor="@android:color/holo_orange_dark"
        android:textSize="24sp"
        android:textStyle="bold" />
</RelativeLayout>

चरण 6 - MainActivity.kt में मेनू इनफ्लेट करें

import android.os.Bundle
import android.view.Menu
import android.view.MenuItem
import androidx.appcompat.app.AppCompatActivity

class MainActivity : AppCompatActivity() {
    override fun onCreate(savedInstanceState: Bundle?) {
        super.onCreate(savedInstanceState)
        setContentView(R.layout.activity_main)
        title = "KotlinApp"
    }

    override fun onCreateOptionsMenu(menu: Menu): Boolean {
        menuInflater.inflate(R.menu.menu_items, menu)
        return true
    }

    override fun onOptionsItemSelected(item: MenuItem): Boolean {
        return when (item.itemId) {
            R.id.option_menu_item_1 -> true
            R.id.option_menu_item_2 -> true
            R.id.option_menu_item_3 -> true
            else -> super.onOptionsItemSelected(item)
        }
    }
}

चरण 7 - AndroidManifest.xml में थीम लागू करें

<application
    android:theme="@style/AppTheme" ...>
    <activity android:name=".MainActivity"> ... </activity>
</application>

ऐप चलाएं

ऐप चलाएं। टूलबार पर ओवरफ्लो मेनू (तीन बिंदु) दबाएं। मेनू आइटम स्काई ब्लू पृष्ठभूमि और लाल टेक्स्ट के साथ दिखाई देंगे।

नोट: यह दृष्टिकोण पारंपरिक ऑप्शन मेनू के लिए काम करता है। Toolbar / MaterialToolbar के साथ आधुनिक ऐप्स के लिए, app:popupTheme या MaterialThemeOverlay का उपयोग करें।
  1. Android ActionBar में मेनू आइटम कैसे छिपाएं/दिखाएं? Android ActionBar में मेनू आइटम कैसे छिपाएं/दिखाएं?

    onCreateOptionsMenu() और MenuItem.setVisible() का उपयोग करके ActionBar मेनू आइटम को डायनामिकली दिखाने/छिपाने का तरीका। चरण 1: नया प्रोजेक्ट बनाएं Android Studio में नया प्रोजेक्ट बनाएं। चरण 2: लेआउट में टॉगल बटन res/layout/activity_main.xml: <?xml version=1.0 encoding=utf-8?> <LinearLayou

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

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

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

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