मैंने बेसथीम के एक्शनबार को नोएक्शनबार के रूप में सेट किया और मैंने एक्सएमएल में टूलबार बनाना शुरू कर दिया।

लेकिन मुझे दिक्कत है।

बीकॉज भले ही मैंने NoActionBar सेट किया हो, मेरे द्वारा बनाए गए टूलबार का रंग अभी भी बेसथीम का रंग है।

मुझे नहीं पता ऐसा क्यों होता है।

साथ ही, मैंने टूलबार की थीम सेट नहीं की

जब मैं बेसथीम का NoActionBar सेट करता हूं तो यह अभी भी उसी रंग का उपयोग क्यों करता है?

मेनिफेस्ट.एक्सएमएल

<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
    package="com.example.writeweight">
    <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.WriteWeight">
        <activity android:name=".MainActivity">
            <intent-filter>
                <action android:name="android.intent.action.MAIN" />

                <category android:name="android.intent.category.LAUNCHER" />
            </intent-filter>
        </activity>
    </application>
</manifest>

गतिविधि_मेन.एक्सएमएल

<androidx.constraintlayout.widget.ConstraintLayout
    xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:app="http://schemas.android.com/apk/res-auto"
    xmlns:tools="http://schemas.android.com/tools"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    tools:context=".MainActivity">
    <androidx.coordinatorlayout.widget.CoordinatorLayout
        android:id="@+id/coordinator"
        android:layout_width="match_parent"
        android:layout_height="match_parent"
        app:layout_constraintTop_toTopOf="parent">
        <com.google.android.material.appbar.AppBarLayout
            android:id="@+id/appbar"
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            app:elevation="0dp">
            <androidx.appcompat.widget.Toolbar
                android:id="@+id/toolbar"
                android:layout_width="match_parent"
                android:layout_height="?attr/actionBarSize">
            </androidx.appcompat.widget.Toolbar>
        </com.google.android.material.appbar.AppBarLayout>

        <androidx.recyclerview.widget.RecyclerView
            android:id="@+id/rcv_dailyrecord"
            android:layout_width="match_parent"
            android:layout_height="match_parent"
            app:layout_constraintTop_toBottomOf="@id/appbar"
            app:layout_constraintRight_toRightOf="parent"
            app:layout_constraintLeft_toLeftOf="parent"
            android:layout_marginRight="10dp"
            android:layout_marginLeft="10dp"
            android:scrollbars="vertical"
            app:layout_behavior="com.google.android.material.appbar.AppBarLayout$ScrollingViewBehavior"/>
    </androidx.coordinatorlayout.widget.CoordinatorLayout>
</androidx.constraintlayout.widget.ConstraintLayout>

मान\theme.xml

<resources xmlns:tools="http://schemas.android.com/tools">
    <!-- Base application theme. -->
    <style name="Theme.WriteWeight" parent="Theme.MaterialComponents.DayNight.NoActionBar">
        <!-- Primary brand color. -->
        <item name="colorPrimary">@color/black</item>
        <item name="colorPrimaryVariant">@color/purple_700</item>
        <item name="colorOnPrimary">@color/white</item>
        <!-- Secondary brand color. -->
        <item name="colorSecondary">@color/teal_200</item>
        <item name="colorSecondaryVariant">@color/teal_700</item>
        <item name="colorOnSecondary">@color/black</item>
        <!-- Status bar color. -->
        <item name="android:statusBarColor" tools:targetApi="l">?attr/colorPrimaryVariant</item>
        <!-- Customize your theme here. -->
    </style>
</resources>

मैं आपके जवाब का इंतजार करूंगा।

जी शुक्रिया।

0
ybybyb 22 पद 2020, 22:28

1 उत्तर

सबसे बढ़िया उत्तर

थीम विशेषताओं का एक संग्रह है जो संपूर्ण ऐप, गतिविधि या दृश्य पदानुक्रम पर लागू होता है—न कि केवल एक व्यक्तिगत दृश्य। जब आप कोई थीम लागू करते हैं, तो ऐप या गतिविधि का प्रत्येक दृश्य उस थीम की प्रत्येक विशेषता पर लागू होता है जिसका वह समर्थन करता है। थीम गैर-दृश्य तत्वों पर भी शैलियाँ लागू कर सकती हैं, जैसे कि स्टेटस बार और विंडो बैकग्राउंड।

यह एक दस्तावेज़ीकरण उद्धरण है जो बताता है कि थीम आपके ऐप के सभी दृश्य या गैर-दृश्य तत्वों के लिए डिफ़ॉल्ट रूप से इनहेरिट करने योग्य हैं, जब तक कि आप अपनी स्वयं की थीम को हार्ड-कोड नहीं करते हैं।

यदि आप देखते हैं कि manifest में, आपका <activity> टैग <application> टैग का एक चाइल्ड है, और फिर भी गतिविधि इस तरह से <application> में सेट की गई थीम को इनहेरिट करती है और इस इनहेरिटेंस को कैस्केड करती है नीचे तक।

यह एक फायदा है क्योंकि यह आपके ऐप तत्वों और उपयोगकर्ता के अनुभव के अनुरूप तालमेल रखता है।

अधिक जानकारी के लिए आप दस्तावेज देख सकते हैं।

1
Zain 24 पद 2020, 02:12