2010-11-24 6 views
7

में प्रयुक्त कस्टम एटर्स पैरामीटर मेरे पास attrs.xml में परिभाषित कस्टम एंड्रॉइड लेआउट पैरामीटर का एक सेट है। अब मैं अपनी शैलियों.एक्सएमएल फ़ाइल में कुछ टैग का उपयोग करना चाहता हूं।style.xml

error: Error: No resource found that matches the given name: attr 'custom:tag' 

मैं कस्टम XML नामस्थान घोषित करने के रूप में इस की कोशिश की है:

फिलहाल मैं इस त्रुटि मिलती है

<resources 
    xmlns:android="http://schemas.android.com/apk/res/android" 
    xmlns:custom="http://schemas.android.com/apk/res/com.my.project" 
> 

उम्मीद कर रहा, कि एक ही हर लेआउट घोषणा में इस्तेमाल तर्क लागू किया जा सकता यहां, लेकिन कोई सफलता के साथ।

+0

पोस्ट करें कोड styles.xml में है कि – dira

+0

'<शैली नाम =" my_style "> एप्लिकेशन के रूप में प्रत्येक टैग के लिए उपसर्ग परिभाषित कर सकते हैं < आइटम का नाम = "कस्टम: टैग"> some_value ' –

उत्तर

14

एक्सएमएल नेमस्पेस तंत्र का उपयोग टैग और विशेषताओं को नामस्थान करने के लिए किया जाता है। जब आप इस तरह की एक शैली को परिभाषित:

<?xml version="1.0" encoding="utf-8"?> 
<resources 
    xmlns:android="http://schemas.android.com/apk/res/android" 
    xmlns:custom="http://schemas.android.com/apk/res/com.my.project"> 

    <style name="my_style"> <item name="custom:tag">some_value</item> </style> 

</resources> 

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

<style name="my_style"> <item name="com.my.project:tag">some_value</item> </style> 

अब Android जहां विशेषता परिभाषित किया गया है को हल करने में सक्षम हो जाएगा।

+0

ठीक है, अगर अलग-अलग नामस्थानों में एक ही नाम के साथ कुछ टैग हैं तो क्या होगा? –

+0

यह एक बहुत अच्छा सवाल है। कुछ और जांच के बाद मुझे एहसास हुआ कि मेरा पिछला जवाब अधूरा था, कृपया अद्यतन उत्तर देखें। –

+0

और जैसा कि मैंने नामस्थान के अनुसार समझा है लेआउट xml में संदर्भित किया जाना चाहिए? जो मेरे लिए केवल इस मामले में काम करता है –

0

आप लिंक

xmlns: app = "http://schemas.android.com/apk/res-auto

का उपयोग करें और

संबंधित मुद्दे