स्टाइल और थीम

लिखने का तरीका आज़माएं
Android के लिए, Jetpack Compose को यूज़र इंटरफ़ेस (यूआई) टूलकिट के तौर पर सुझाया जाता है. Compose में थीम बनाने की सुविधा इस्तेमाल करने का तरीका जानें.

Android पर स्टाइल और थीम की मदद से, अपने ऐप्लिकेशन के डिज़ाइन की जानकारी को यूज़र इंटरफ़ेस (यूआई) से अलग किया जा सकता है और व्यवहार, वेब डिज़ाइन के स्टाइलशीट की तरह होता है.

स्टाइल, एट्रिब्यूट का एक कलेक्शन होता है. इससे किसी एक View के दिखने का तरीका तय होता है. स्टाइल में एट्रिब्यूट तय किए जा सकते हैं. जैसे, फ़ॉन्ट का रंग, साइज़, बैकग्राउंड का रंग वगैरह.

थीम, एट्रिब्यूट का एक कलेक्शन होता है. यह सिर्फ़ किसी एक व्यू पर नहीं, बल्कि पूरे ऐप्लिकेशन, गतिविधि या व्यू की हैरारकी पर लागू होता है. कोई थीम लागू करने पर, ऐप्लिकेशन या गतिविधि के हर व्यू में, उस थीम के सभी एट्रिब्यूट लागू हो जाते हैं जिन पर वह काम करता है. थीम इन पर भी स्टाइल लागू कर सकती हैं ऐसे एलिमेंट जो व्यू के नहीं हैं. जैसे, स्टेटस बार और विंडो का बैकग्राउंड.

स्टाइल और थीम का एलान स्टाइल रिसॉर्स फ़ाइल में res/values/ को आम तौर पर styles.xml कहा जाता है.

पहली इमेज. एक ही गतिविधि पर दो थीम लागू की गई हैं: Theme.AppCompat (बाईं ओर) और Theme.AppCompat.Light (दाईं ओर).

थीम बनाम स्टाइल

थीम और स्टाइल में काफ़ी समानताएं होती हैं. हालांकि, इनका इस्तेमाल अलग-अलग कामों के लिए किया जाता है. थीम और स्टाइल एक जैसे होते हैं—यह की-वैल्यू पेयर होता है, जो एट्रिब्यूट संसाधन.

स्टाइल किसी खास तरह के व्यू के एट्रिब्यूट के बारे में बताती है. उदाहरण के लिए, एक स्टाइल में बटन के एट्रिब्यूट तय किए जा सकते हैं. स्टाइल में तय किया गया हर एट्रिब्यूट, एक ऐसा एट्रिब्यूट होता है जिसे आप सेट कर सकते हैं . सभी एट्रिब्यूट को एक स्टाइल में निकालने से, उन्हें इस्तेमाल करना और बनाए रखना आसान हो जाता है ट्रैक करें.

थीम नाम वाले रिसॉर्स के कलेक्शन के बारे में बताती है, जिसे स्टाइल, लेआउट, विजेट, वगैरह. थीम, Android को colorPrimary जैसे सिमैंटिक नाम असाइन करती हैं संसाधन.

स्टाइल और थीम एक साथ काम करने के लिए हैं. उदाहरण के लिए, आपके पास ऐसी स्टाइल हो सकती है जिसमें बताया गया हो कि बटन का एक हिस्सा colorPrimary है और दूसरा हिस्सा colorSecondary है. उन रंगों की असल जानकारी थीम में दी गई है. जब डिवाइस नाइट मोड में चला जाता है, तो आपका ऐप्लिकेशन अपनी "हल्की" थीम से "गहरे रंग वाली" थीम पर स्विच कर सकता है. साथ ही, उन सभी संसाधनों के नामों की वैल्यू बदल सकता है. आपको स्टाइल बदलने की ज़रूरत नहीं है, क्योंकि स्टाइल में खास रंग की परिभाषाओं के बजाय, सेमेंटिक नामों का इस्तेमाल किया जा रहा है.

थीम और स्टाइल एक साथ कैसे काम करते हैं, इस बारे में ज़्यादा जानने के लिए ब्लॉग पोस्ट देखें Android स्टाइलिंग: थीम बनाम स्टाइल.

स्टाइल बनाना और लागू करना

नई स्टाइल बनाने के लिए, अपने प्रोजेक्ट की res/values/styles.xml फ़ाइल खोलें. आपको जो भी स्टाइल बनानी है उसके लिए, यह तरीका अपनाएं:

  1. एक <style> एलिमेंट जोड़कर, उसे अलग नाम दें.
  2. आपको जिन स्टाइल एट्रिब्यूट की जानकारी देनी है उनके लिए <item> एलिमेंट जोड़ें. कॉन्टेंट बनाने हर आइटम में name किसी ऐसे एट्रिब्यूट के बारे में बताता है जिसे आम तौर पर, एक्सएमएल एट्रिब्यूट के तौर पर इस्तेमाल किया जाता है लेआउट. <item> एलिमेंट में मौजूद वैल्यू, उस एट्रिब्यूट की वैल्यू होती है.

उदाहरण के लिए, मान लें कि आप यहां दी गई स्टाइल को परिभाषित करते हैं:

<?xml version="1.0" encoding="utf-8"?>
<resources>
    <style name="GreenText" parent="TextAppearance.AppCompat">
        <item name="android:textColor">#00FF00</item>
    </style>
</resources>

किसी व्यू पर इस तरह स्टाइल लागू की जा सकती है:

<TextView
    style="@style/GreenText"
    ... />

अगर व्यू व्यू को स्वीकार करता है, तो स्टाइल में बताई गई हर एट्रिब्यूट उस व्यू पर लागू होती है. व्यू ऐसे किसी भी एट्रिब्यूट को अनदेखा कर देता है जिसे वह स्वीकार नहीं करता.

हालांकि, अलग-अलग व्यू पर स्टाइल लागू करने के बजाय, आम तौर पर अपने पूरे ऐप्लिकेशन, गतिविधि या संग्रह के लिए थीम के रूप में स्टाइल लागू करें देखें, जैसा कि इस गाइड के दूसरे सेक्शन में बताया गया है.

स्टाइल को बड़ा और पसंद के मुताबिक बनाएं

अपनी स्टाइल बनाते समय, फ़्रेमवर्क या सहायता टीम से मौजूदा स्टाइल को हमेशा बढ़ाएं लाइब्रेरी का इस्तेमाल करें, ताकि आप प्लैटफ़ॉर्म के यूज़र इंटरफ़ेस (यूआई) स्टाइल के साथ काम कर सकें. स्टाइल बढ़ाने के लिए, शैली जिसे आप parent एट्रिब्यूट के साथ बढ़ाना चाहते हैं. इसके बाद, इनहेरिट किए गए स्टाइल एट्रिब्यूट को बदला जा सकता है और नए एट्रिब्यूट जोड़े जा सकते हैं.

उदाहरण के लिए, Android प्लैटफ़ॉर्म के डिफ़ॉल्ट टेक्स्ट दिखने के तरीके को इनहेरिट किया जा सकता है और इसमें बदलाव अनुसरण करता है:

<style name="GreenText" parent="@android:style/TextAppearance">
    <item name="android:textColor">#00FF00</item>
</style>

हालांकि, अपने ऐप्लिकेशन के मुख्य स्टाइल को हमेशा Android Support लाइब्रेरी से लिया जाता है. सहायता लाइब्रेरी में मौजूद स्टाइल, हर वर्शन में उपलब्ध यूज़र इंटरफ़ेस (यूआई) एट्रिब्यूट के लिए हर स्टाइल को ऑप्टिमाइज़ करके, साथ काम करने की सुविधा देते हैं. सपोर्ट लाइब्रेरी वाली स्टाइल का नाम अक्सर प्लैटफ़ॉर्म पर मौजूद स्टाइल से मिलता-जुलता होता है, लेकिन AppCompat शामिल है.

किसी लाइब्रेरी या अपने प्रोजेक्ट से स्टाइल लेने के लिए, पैरंट स्टाइल का नाम बताएं पिछले उदाहरण में दिखाए गए @android:style/ हिस्से के बिना. उदाहरण के लिए, यहां दिए गए उदाहरण में, टेक्स्ट दिखने के स्टाइल को सपोर्ट लाइब्रेरी से लिया गया है:

<style name="GreenText" parent="TextAppearance.AppCompat">
    <item name="android:textColor">#00FF00</item>
</style>

parent एट्रिब्यूट का इस्तेमाल करने के बजाय, बिंदु वाले नोटेशन की मदद से स्टाइल के नाम को बढ़ाकर, प्लैटफ़ॉर्म से मिलने वाली स्टाइल को छोड़कर, अन्य स्टाइल भी इनहेरिट की जा सकती हैं. इसका मतलब है कि अपनी स्टाइल के नाम के आगे, उस स्टाइल का नाम जोड़ें जिसे आपको इनहेरिट करना है. इन दोनों नामों को पीरियड से अलग करें. आपने लोगों तक पहुंचाया मुफ़्त में आम तौर पर ऐसा सिर्फ़ अपनी स्टाइल को बढ़ाते समय किया जाता है, न कि दूसरी लाइब्रेरी की स्टाइल को. उदाहरण के लिए, यहां दिया गया स्टाइल, पिछले उदाहरण में दिए गए GreenText से सभी स्टाइल इनहेरिट करता है और फिर टेक्स्ट का साइज़ बढ़ाता है:

<style name="GreenText.Large">
    <item name="android:textSize">22dp</item>
</style>

ज़्यादा नामों को चेन करके, इस तरह की स्टाइल को जितनी बार चाहें उतनी बार इनहेरिट किया जा सकता है.

यह जानने के लिए कि <item> टैग की मदद से किन एट्रिब्यूट के बारे में एलान किया जा सकता है, "एक्सएमएल देखें एट्रिब्यूट" टेबल को अलग-अलग क्लास रेफ़रंस में जोड़ना होगा. सभी व्यू, बेस View क्लास के एक्सएमएल एट्रिब्यूट के साथ काम करते हैं. साथ ही, कई व्यू अपने खास एट्रिब्यूट जोड़ते हैं. उदाहरण के लिए, TextView एक्सएमएल एट्रिब्यूट शामिल करें android:inputType एट्रिब्यूट की वैल्यू डालें, जिसे इनपुट पाने वाले टेक्स्ट व्यू पर लागू किया जा सकता है. जैसे EditText विजेट.

किसी स्टाइल को थीम के तौर पर लागू करना

स्टाइल बनाने के तरीके से ही थीम बनाई जा सकती है. इन दोनों के बीच का अंतर यह है कि इन्हें लागू करने का तरीका अलग-अलग है: किसी व्यू पर style एट्रिब्यूट की मदद से स्टाइल लागू करने के बजाय, AndroidManifest.xml फ़ाइल में <application> टैग या <activity> टैग पर android:theme एट्रिब्यूट की मदद से थीम लागू की जाती है.

उदाहरण के लिए, पूरे ऐप्लिकेशन पर Android Support Library की Material Design "गहरे रंग वाली" थीम लागू करने का तरीका यहां बताया गया है:

<manifest ... >
    <application android:theme="@style/Theme.AppCompat" ... >
    </application>
</manifest>

सिर्फ़ एक गतिविधि पर "हलकी" थीम लागू करने का तरीका यहां बताया गया है:

<manifest ... >
    <application ... >
        <activity android:theme="@style/Theme.AppCompat.Light" ... >
        </activity>
    </application>
</manifest>

ऐप्लिकेशन या गतिविधि में मौजूद हर व्यू, दी गई थीम में तय किए गए उन स्टाइल को लागू करता है जिनका इस्तेमाल किया जा सकता है. अगर कोई व्यू, स्टाइल में बताए गए कुछ एट्रिब्यूट के साथ ही काम करता है, तो वह सिर्फ़ उन एट्रिब्यूट को लागू करता है और उन एट्रिब्यूट को अनदेखा करता है जिनके साथ वह काम नहीं करता.

Android 5.0 (एपीआई लेवल 21) और Android सपोर्ट लाइब्रेरी v22.1 के बाद के वर्शन में, अपनी लेआउट फ़ाइल के किसी व्यू के लिए android:theme एट्रिब्यूट. यह की थीम को संशोधित करता है इससे मिलता-जुलता व्यू और चाइल्ड व्यू की जानकारी मिलती है. इससे आपको थीम के रंग पटल में बदलाव करने में मदद मिलती है एक हिस्सा है.

पिछले उदाहरणों में, Theme.AppCompat जैसी थीम को लागू करने का तरीका बताया गया है. यह थीम, Android Support Library से मिलती है. हालांकि, आम तौर पर थीम को अपनी पसंद के मुताबिक बनाया जा सकता है, ताकि आपके ऐप्लिकेशन का ब्रैंड. ऐसा करने का सबसे अच्छा तरीका यह है कि सहायता लाइब्रेरी से इन स्टाइल को एक्सटेंड करें और कुछ एट्रिब्यूट को बदलें. इसके बारे में अगले सेक्शन में बताया गया है.

स्टाइल की हैरारकी

Android आपके पूरे Android ऐप्लिकेशन में विशेषताएं सेट करने के कई तरीके उपलब्ध कराता है. उदाहरण के लिए, एट्रिब्यूट को सीधे लेआउट में सेट किया जा सकता है, व्यू पर स्टाइल लागू की जा सकती है, लेआउट पर थीम लागू की जा सकती है, और यहां तक कि प्रोग्राम के हिसाब से एट्रिब्यूट भी सेट किए जा सकते हैं.

अपने ऐप्लिकेशन को स्टाइल करने का तरीका चुनते समय, Android के स्टाइल के क्रम को ध्यान में रखें. आम तौर पर, एक जैसा दिखने के लिए, थीम और स्टाइल का जितना हो सके उतना इस्तेमाल करें. अगर एक ही एट्रिब्यूट को कई जगहों पर डाला जाता है, तो नीचे दी गई सूची से यह तय होता है कि आखिर में कौनसे एट्रिब्यूट लागू किए जाएंगे. सूची को सबसे ज़्यादा प्राथमिकता से लेकर सबसे कम प्राथमिकता के हिसाब से क्रम में लगाया जाता है.

  1. TextView से बनी क्लास पर टेक्स्ट स्पैन का इस्तेमाल करके, वर्ण या पैराग्राफ़-लेवल की स्टाइल लागू करना.
  2. प्रोग्राम के हिसाब से एट्रिब्यूट लागू करना.
  3. अलग-अलग एट्रिब्यूट को सीधे व्यू पर लागू करना.
  4. किसी व्यू पर स्टाइल लागू करना.
  5. डिफ़ॉल्ट स्टाइल.
  6. व्यू, गतिविधि या अपने पूरे ऐप्लिकेशन के कलेक्शन पर थीम लागू करना.
  7. व्यू के हिसाब से स्टाइल लागू करना. जैसे, TextView पर TextAppearance सेट करना.

दूसरी इमेज. span से स्टाइल करने पर, स्टाइलिंग की जगह textAppearance.

TextAppearance

स्टाइल की एक सीमा यह है कि आप View पर सिर्फ़ एक स्टाइल लागू कर सकते हैं. में TextView, हालांकि, आपके पास TextAppearance एट्रिब्यूट जो किसी स्टाइल की तरह काम करते हैं, जैसा कि नीचे दिए गए उदाहरण में दिखाया गया है:

<TextView
    ...
    android:textAppearance="@android:style/TextAppearance.Material.Headline"
    android:text="This text is styled via textAppearance!" />

TextAppearance की मदद से, टेक्स्ट के हिसाब से स्टाइल तय की जा सकती है. साथ ही, View की स्टाइल को दूसरे कामों के लिए उपलब्ध रखा जा सकता है. ध्यान दें, हालांकि, अगर आपने कोई टेक्स्ट एट्रिब्यूट तय किया है View पर या किसी शैली में, वे मान TextAppearance वैल्यू.

TextAppearance, स्टाइल करने वाले उन एट्रिब्यूट के सबसेट के साथ काम करता है जो TextView के साथ उपलब्ध होते हैं. एट्रिब्यूट की पूरी सूची के लिए, TextAppearance देखें.

TextView के कुछ सामान्य एट्रिब्यूट शामिल नहीं किए गए हैं. जैसे, lineHeight[Multiplier|Extra], lines, breakStrategy, और hyphenationFrequency. TextAppearance, पैराग्राफ़ लेवल के बजाय वर्ण के लेवल पर काम करता है, इसलिए पूरे लेआउट पर असर डालने वाले एट्रिब्यूट काम नहीं करते.

डिफ़ॉल्ट थीम को पसंद के मुताबिक बनाना

जब Android Studio से कोई प्रोजेक्ट बनाया जाता है, तो वह आपके ऐप्लिकेशन पर मटीरियल डिज़ाइन थीम लागू करता है डिफ़ॉल्ट रूप से सेट होती है, जैसा कि आपके प्रोजेक्ट की styles.xml फ़ाइल में बताया गया है. यह AppTheme शैली सपोर्ट लाइब्रेरी से एक थीम बढ़ाता है और उसमें इस्तेमाल किए गए रंग एट्रिब्यूट के लिए ओवरराइड शामिल करता है मुख्य यूज़र इंटरफ़ेस (यूआई) एलिमेंट के हिसाब से, जैसे कि ऐप्लिकेशन बार और फ़्लोटिंग ऐक्शन बटन का इस्तेमाल किया जाता है. इसलिए, दिए गए रंगों को अपडेट करके, अपने ऐप्लिकेशन के कलर डिज़ाइन को तुरंत पसंद के मुताबिक बनाया जा सकता है.

उदाहरण के लिए, आपकी styles.xml फ़ाइल कुछ इस तरह दिखती है:

<style name="AppTheme" parent="Theme.AppCompat.Light.DarkActionBar">
    <!-- Customize your theme here. -->
    <item name="colorPrimary">@color/colorPrimary</item>
    <item name="colorPrimaryDark">@color/colorPrimaryDark</item>
    <item name="colorAccent">@color/colorAccent</item>
</style>

स्टाइल वैल्यू, प्रोजेक्ट की res/values/colors.xml फ़ाइल में बताए गए अन्य रंग संसाधनों के रेफ़रंस होती हैं. यह वही फ़ाइल है जिसमें रंग बदलने के लिए बदलाव किया जाता है. देखें मटीरियल डिज़ाइन का रंग से जुड़ी खास जानकारी उपयोगकर्ता अनुभव को बेहतर बनाने के लिए, डाइनैमिक कलर और अपनी पसंद के अन्य रंगों का इस्तेमाल किया जा सकता है.

अपने रंगों के बारे में जानने के बाद, res/values/colors.xml में वैल्यू अपडेट करें:

<?xml version="1.0" encoding="utf-8"?>
<resources>
    <!--   Color for the app bar and other primary UI elements. -->
    <color name="colorPrimary">#3F51B5</color>

    <!--   A darker variant of the primary color, used for
           the status bar (on Android 5.0+) and contextual app bars. -->
    <color name="colorPrimaryDark">#303F9F</color>

    <!--   a secondary color for controls like checkboxes and text fields. -->
    <color name="colorAccent">#FF4081</color>
</resources>

इसके बाद, अपनी पसंद की किसी भी अन्य स्टाइल को बदला जा सकता है. उदाहरण के लिए, गतिविधि बदलने के लिए बैकग्राउंड का रंग इस तरह है:

<style name="AppTheme" parent="Theme.AppCompat.Light.DarkActionBar">
    ...
    <item name="android:windowBackground">@color/activityBackground</item>
</style>

थीम में इस्तेमाल किए जा सकने वाले एट्रिब्यूट की सूची देखने के लिए, एट्रिब्यूट की टेबल यहां देखें R.styleable.Theme. अपने लेआउट में व्यू के लिए स्टाइल जोड़ते समय, व्यू क्लास के रेफ़रंस में "एक्सएमएल एट्रिब्यूट" टेबल देखकर भी एट्रिब्यूट देखे जा सकते हैं. उदाहरण के लिए, सभी व्यू में बेस View क्लास के एक्सएमएल एट्रिब्यूट काम करते हैं.

ज़्यादातर एट्रिब्यूट, खास तरह के व्यू पर लागू होते हैं. कुछ एट्रिब्यूट सभी व्यू पर लागू होते हैं. हालांकि, यहां कुछ थीम एट्रिब्यूट जोड़े गए हैं R.styleable.Theme इस पर लागू होती हैं गतिविधि विंडो है, न कि लेआउट में व्यू. उदाहरण के लिए, windowBackground आपकी वेबसाइट के विंडो बैकग्राउंड और windowEnterTransition एक ट्रांज़िशन ऐनिमेशन तय करते हैं, जिसका इस्तेमाल कब करना है गतिविधि शुरू हो जाती है. ज़्यादा जानकारी के लिए, ऐनिमेशन का इस्तेमाल करके कोई गतिविधि शुरू करना लेख पढ़ें.

Android की सहायता लाइब्रेरी में ऐसी अन्य सुविधाएं भी मिलती हैं जिनका इस्तेमाल करके, थीम को पसंद के मुताबिक बनाया जा सकता है Theme.AppCompat से बढ़ाई गई है, जैसे कि colorPrimary एट्रिब्यूट ऊपर दिया गया है. ये दुनिया भर में लाइब्रेरी की attrs.xml फ़ाइल.

सहायता लाइब्रेरी में अलग-अलग थीम भी उपलब्ध हैं. हो सकता है कि आप पिछले उदाहरण में दिखाई गई थीम के बजाय, इनका इस्तेमाल करना चाहें. उपलब्ध थीम देखने के लिए, सबसे सही जगह लाइब्रेरी की themes.xml फ़ाइल है.

वर्शन के हिसाब से स्टाइल जोड़ना

अगर Android के किसी नए वर्शन में ऐसी थीम एट्रिब्यूट जोड़े जाते हैं जिनका आपको इस्तेमाल करना है, तो उन्हें थीम में जोड़ा जा सकता है साथ ही, पुराने वर्शन के साथ भी काम करता है. आपको बस एक और styles.xml फ़ाइल की ज़रूरत है ऐसी values डायरेक्ट्री में सेव की गई है जिसमें संसाधन वर्शन क्वालीफ़ायर:

res/values/styles.xml        # themes for all versions
res/values-v21/styles.xml    # themes for API level 21+ only

values/styles.xml फ़ाइल में मौजूद स्टाइल, सभी वर्शन के लिए उपलब्ध होते हैं. values-v21/styles.xml में मौजूद आपकी थीम, उन्हें इनहेरिट कर सकती हैं. इसका मतलब है कि "बेस" थीम से शुरू करके, वर्शन के हिसाब से स्टाइल में बदलाव करके, स्टाइल को डुप्लीकेट होने से बचाया जा सकता है.

उदाहरण के लिए, Android 5.0 (एपीआई लेवल 21) और उसके बाद के वर्शन के लिए विंडो ट्रांज़िशन का एलान करने के लिए, आपको नए एट्रिब्यूट का इस्तेमाल करना होगा. इसलिए, res/values/styles.xml में आपकी बेस थीम कुछ ऐसी दिख सकती है:

<resources>
    <!-- Base set of styles that apply to all versions. -->
    <style name="BaseAppTheme" parent="Theme.AppCompat.Light.DarkActionBar">
        <item name="colorPrimary">@color/primaryColor</item>
        <item name="colorPrimaryDark">@color/primaryTextColor</item>
        <item name="colorAccent">@color/secondaryColor</item>
    </style>

    <!-- Declare the theme name that's actually applied in the manifest file. -->
    <style name="AppTheme" parent="BaseAppTheme" />
</resources>

इसके बाद, res/values-v21/styles.xml में वर्शन के हिसाब से स्टाइल जोड़ें. इसके लिए, यह तरीका अपनाएं:

<resources>
    <!-- extend the base theme to add styles available only with API level 21+ -->
    <style name="AppTheme" parent="BaseAppTheme">
        <item name="android:windowActivityTransitions">true</item>
        <item name="android:windowEnterTransition">@android:transition/slide_right</item>
        <item name="android:windowExitTransition">@android:transition/slide_left</item>
    </style>
</resources>

अब अपनी मेनिफ़ेस्ट फ़ाइल में AppTheme लागू किया जा सकता है. इसके बाद, सिस्टम हर सिस्टम वर्शन के लिए उपलब्ध स्टाइल चुन लेता है.

अलग-अलग डिवाइसों के लिए वैकल्पिक रिसॉर्स इस्तेमाल करने के बारे में ज़्यादा जानने के लिए, वैकल्पिक रिसॉर्स उपलब्ध कराना लेख पढ़ें.

विजेट की स्टाइल को पसंद के मुताबिक बनाएं

फ़्रेमवर्क और सहायता लाइब्रेरी के हर विजेट की एक डिफ़ॉल्ट स्टाइल होती है. उदाहरण के लिए, जब Support Library की किसी थीम का इस्तेमाल करके अपने ऐप्लिकेशन को स्टाइल किया जाता है, तो Button के किसी इंस्टेंस को Widget.AppCompat.Button स्टाइल का इस्तेमाल करके स्टाइल किया जाता है. अगर आप विजेट की कोई अलग शैली बटन पर क्लिक करें, तो आप अपनी लेआउट फ़ाइल में style एट्रिब्यूट की मदद से ऐसा कर सकते हैं. उदाहरण के लिए, यहां दिए गए कोड से लाइब्रेरी के बॉर्डरलेस बटन स्टाइल का इस्तेमाल होता है:

<Button
    style="@style/Widget.AppCompat.Button.Borderless"
    ... />

अगर आपको यह स्टाइल सभी बटन पर लागू करना है, तो अपनी थीम के buttonStyle में इसे इस तरह से एलान किया जा सकता है:

<style name="AppTheme" parent="Theme.AppCompat.Light.DarkActionBar">
    <item name="buttonStyle">@style/Widget.AppCompat.Button.Borderless</item>
    ...
</style>

किसी भी अन्य स्टाइल को बड़ा करने की तरह ही, विजेट स्टाइल को भी बड़ा किया जा सकता है. इसके बाद, अपने लेआउट या थीम में अपनी पसंद के मुताबिक विजेट स्टाइल लागू किया जा सकता है.

अन्य संसाधन

थीम और स्टाइल के बारे में ज़्यादा जानने के लिए, यहां दिए गए अन्य संसाधन देखें:

ब्लॉग पोस्ट