Android 中的自定义属性

发布于 2024-10-10 00:14:07 字数 379 浏览 5 评论 0原文

我正在尝试为所有可编辑元素创建一个名为 Tag 的自定义属性。我将以下内容添加到 attrs.xml 中

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

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

,收到一条错误消息,指出 EditText 的“属性标记已被定义”。是否无法在不同元素上创建同名的自定义属性?

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?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

筱果果 2024-10-17 00:14:07

如果您要在多个位置使用 attr,则将其放入 元素内的根元素中,如下所示:

<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>

现在您可以在您想要的任何位置使用 tag 属性这个 xml 文件。

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.

一抹淡然 2024-10-17 00:14:07

看看我关于自定义属性的详细答案是否有帮助:定义自定义属性

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

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文