Custom Attributes in Android

13,184

Solution 1

If you are going to use an attr in more than one place then put it in the root element inside the <resources> element like the following :

<resources>

    <attr name="tag" format="string" />

    <declare-styleable name="Spinner">
        <attr name="tag" />
    </declare-styleable>

    <declare-styleable name="EditText">
        <attr name="tag" />
    </declare-styleable>

</resources>

Now you can use the tag attribute in anywhere you want inside this xml file .

Hope That Helps.

Solution 2

See if my detailed answer about custom attributes helps: Defining custom attrs

Share:
13,184
Arun
Author by

Arun

Updated on June 15, 2022

Comments

  • Arun
    Arun almost 2 years

    I'm trying to create a custom attribute called Tag for all editable elements. I added the following to attrs.xml

    <declare-styleable name="Spinner">
        <attr name="tag" format="string" />
    </declare-styleable>
    
    <declare-styleable name="EditText">
        <attr name="tag" format="string" />
    </declare-styleable>
    

    I get an error saying "Attribute tag has already been defined" for the EditText. Is it not possible to create a custom attribute of the same name on different elements?