4

我已经声明了一个带有枚举值的可样式属性,如下所示:

<declare-styleable name="TileLayout">
    <attr name="rotation" format="integer">
        <enum name="top" value="0"/>
        <enum name="left" value="1"/>
        <enum name="right" value="2"/>
        <enum name="bottom" value="3"/>
    </attr>
</declare-styleable>

现在我想在我的代码中引用那些,最好是在一个switch语句中。

除了将枚举中的值硬编码到我的代码中之外,我找不到任何方法来做到这一点(首先破坏了枚举的一半目的)。

有谁知道如何做到这一点?

编辑

根据@CommonsWare 的回答,尝试了这个:

资源.xml:

<?xml version="1.0" encoding="utf-8"?>
<resources>
    <integer name="rotation_top">0</integer>
</resources>

attrs.xml:

<resources>
    <declare-styleable name="TileLayout">
        <attr name="rotation" format="integer">
            <enum name="top" value="@integer/rotation_top"/>
            <enum name="left" value="1"/>
            <enum name="right" value="2"/>
            <enum name="bottom" value="3"/>
        </attr>
    </declare-styleable>
</resources>

这导致top不再是rotation.

4

0 回答 0