2010-09-20 11 views
5

Here वे लिखते हैं:एंड्रॉइड: क्या मेरे पास विषयों के उपयोग के माध्यम से प्रति संपत्ति एक शॉट है? एंड्रॉइड में सीएसएस की तरह कुछ भी नहीं है?

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

तो, जब मैं टेक्स्ट को लाल रंग में सेट करता हूं, तो पाठ के साथ सभी तत्व लाल रंग में बदलते हैं ?? सीएसएस शैली-चादरों की तरह शक्तिशाली शक्तिशाली विनिर्देशक? मैं सिर्फ शैलियों की अवधारणा (style="@style/CodeFont") व्यावहारिक देखता हूं।

उत्तर

3

आपकी टिप्पणियों के जवाब में आप textAppearance संपत्ति के साथ अपनी खोज की तलाश कर सकते हैं।

ओपन themes.xml यहाँ फ़ाइल:

<style name="Theme"> 
    <item name="textAppearanceButton">@android:style/TextAppearance.Widget.Button</item> 
    ... 
    <item name="panelTextAppearance">?android:attr/textAppearanceInverse</item> 
    ... 

यह आपको कुछ हद तक शैली अवयव को भर देता है:
https://android.googlesource.com/platform/frameworks/base/+/froyo-release/core/res/res/values/themes.xml

आप इस तरह के रूप में विभिन्न प्रविष्टियों नोटिस आप textAppearance के लिए एक मिलती है, तो मैराग्स उदाहरण में दिखाए गए अनुसार आपका आवेदन।

इसलिए जब सभी सूची तत्वों को पूरी तरह से नियंत्रित करने के लिए संभव नहीं है, तो सूची सूची, स्क्रॉल व्यू इत्यादि कहें, कुछ टेक्स्ट आधारित घटकों जैसे टेक्स्टव्यू और बटन जैसे शैलियों को नियंत्रित करने के लिए कुछ सीमित समर्थन है।

+0

यह सही दिशा है लेकिन आप टेक्स्टकॉलर जैसी संपत्ति की उपस्थिति को कैसे बदलते हैं। मैंने टेक्स्ट एपपेरेंस से प्राप्त एक नई शैली बनाने की कोशिश की। विजिट.बटन और ओवरराइडिंग टेक्स्ट रंग, लेकिन इसका कोई प्रभाव नहीं पड़ा – HRJ

+0

(मैंने टेक्स्ट एपपेरेंस बटन को नई शैली को इंगित करने के लिए भी सेट किया है) – HRJ

2

तुम सिर्फ पाठ आप उद्धृत नीचे पढ़ें:

अपने आवेदन की सभी गतिविधियों के लिए एक विषय निर्धारित करते हैं, AndroidManifest.xml फ़ाइल खोलने के लिए और टैग संपादित करने के एंड्रॉयड शामिल करने के लिए: विषय के साथ विशेषता शैली का नाम

यदि आप अपने आवेदन में केवल एक गतिविधि पर लागू थीम चाहते हैं, तो इसके बजाय एंड्रॉइड: थीम विशेषता को टैग में जोड़ें।

और उसके बाद एक छोटा सा, यह वर्णन के वारिस के लिए कैसे और गुण को ओवरराइड, बस सीएसएस की तरह:

आप एक विषय की तरह है, लेकिन यह परिवर्तित करना चाहते हैं, बस के अभिभावक के रूप में विषय जोड़ना आपकी कस्टम थीम। उदाहरण के लिए, यदि आप पारंपरिक संवाद विषय इस तरह अपनी खुद की पृष्ठभूमि छवि का उपयोग करने के लिए संशोधित कर सकते हैं: तो फिर, CustomTextView

<style name="CustomTextView.RedText"> 
    <item name="android:textColor">@color/red</item> 
</style> 

से interit को एक बार एक्सएमएल लेआउट डिजाइनिंग

<style name="CustomTextView" parent="@android:style/Widget.TextView"> 
    <item name="android:background">@drawable/custom_background</item> 
</style> 

, आप एक वारिस कर सकते हैं विषय और

<TextView 
    android:id="@+id/example" 

    style="@style/CustomTextView.RedText" 

    android:textColor="@color/green" /> 

ओवरराइड गुण मुझे लगता है कि आप फिर से पेज आप अपने आप को जुड़ा हुआ पढ़ना चाहिए, यह अच्छी तरह से समझाया है :)

+0

तो, दोनों मामलों में, मुझे वास्तविक तत्व में शैली विशेषता सेट करनी है? – OneWorld

+0

आप शैली को मैनिफेस्ट में भी सेट कर सकते हैं। एक या में कोई विषय हो सकता है, जिसे बाद में ओवरराइड किया जा सकता है। – Maragues

+0

तो, किसी गतिविधि में थीम सेट करते समय, मैं शैली कैसे बना सकता हूं? क्या मैं कह सकता हूं जैसे "सभी बटनों में लाल पाठ है और सभी टेक्स्ट व्यू में नीले, छोटे अक्षर हैं"? आप जानते हैं कि सीएसएस को रेफर करके मेरा क्या मतलब है? – OneWorld