मेरे पास समान अनुप्रयोगों का एक सेट है। मैंने लाइब्रेरी प्रोजेक्ट और एप्लिकेशन में सामान्य संसाधनों और कोड निकाले हैं जो उन्हें आवश्यकतानुसार ओवरराइड करते हैं।Android लाइब्रेरी प्रोजेक्ट में परिभाषित शैली विशेषताओं को ओवरराइड (या छुपाएं) कैसे करें?
<style name="ListItemText">
<item name="android:layout_toRightOf">@id/preview_image</item>
<item name="android:textStyle">bold</item>
<item name="android:textSize">@dimen/previewTextSize</item>
</style>
आप देख सकते हैं इसमें android:layout_toRightOf
इस शैली के रूप में विशेषता ListView पंक्ति में पाठ जो कि में छवि के दाईं ओर प्रदर्शित किया जाना चाहिए करने के लिए आवंटित किया जाएगा: मेरी लाइब्रेरी में निम्नलिखित शैली में परिभाषित किया गया है पंक्ति।
हालांकि मेरे अनुप्रयोगों में से एक में मैं छवि के नीचे पाठ प्रदर्शित करना चाहता हूं। उस एप्लिकेशन में ListItemText
शैली को android:layout_toRightOf
विशेषता मान ओवरराइड करने के लिए परिभाषित किया जाना चाहिए और इसे android:layout_below
से प्रतिस्थापित करें?
अगर मैं के रूप में यह निर्धारित करें:
<style name="ListItemText">
<item name="android:layout_below">@id/preview_image</item>
</style>
यह सही करने के लिए और चित्र के नीचे टेक्स्ट प्रदर्शित करता है, प्रभावी रूप से दोनों पुस्तकालय और आवेदन शैलियों XMLs से गुण संक्षेप।
पीएस .: शैलियों में android:layout_toRightOf
से छुटकारा पाने के लिए और इसे लेआउट xml पर ले जाने के लिए मेरे मुद्दे का एक संभावित समाधान होगा। फिर लक्ष्य आवेदन में इस लेआउट को फिर से परिभाषित/ओवरराइड किया जा सकता है। लेकिन मैं स्टाइल-आधारित समाधान की तलाश में हूं, क्योंकि यह ओवरराइडिंग के अधिक सरल और सीधा तरीके प्रदान कर सकता है।
(मैं parent
विशेषता के साथ विरासत शैली का भी उपयोग कर सकता हूं, लेकिन फिर इसे एप्लिकेशन में लेआउट ओवरराइडिंग की आवश्यकता होगी, जिसे मैं टालने का प्रयास करता हूं)।
मैं इसी तरह यहाँ कुछ कर रहा हूँ !!! http://stackoverflow.com/questions/17103894/overriding- संदर्भित- स्टाइल- सामग्री – toobsco42