我想在xml / java类中的某个地方声明枚举,无论如何 简单
enum myEnum {
FIRST,
SECOND
}
或者在xml中以某种方式声明它
然后在xml中使用它。
我需要的结果是:
<TextView>
android:layout_width="match_parent"
android:layout_height="match_parent"
android:tag="myEnum/FIRST"
</TextView>
<Button>
android:layout_width="match_parent"
android:layout_height="match_parent"
android:tag="myEnum/SECOND"
</Button>
等。
有可能吗?
PS。我需要一些可以用于任何标准视图的东西。
答案 0 :(得分:1)
在attrs.xml中添加以下内容:
p = :to_s.chain([:split,'.'])
p.call(123.45)
#=> ["123","45"]
# Or even
[123.45,76.75].map(&p)
#=> => [["123", "45"], ["76", "75"]]
在自定义文字视图中按以下方式使用:
<declare-styleable name="TextView">
<attr name="font" format="enum">
<enum name="light" value="0" />
<enum name="normal" value="1" />
<enum name="bold" value="2" />
<enum name="roboto_light" value="3" />
<enum name="roboto_regular" value="4" />
</attr>
</declare-styleable>
}
答案 1 :(得分:0)
以简单的方式只需将标签设置为String格式,然后当您想将其用作枚举时,就可以通过以下方式将其转换为枚举值:
myEnum tag = myEnum.valueOf(view.getTag().toString());
并且您可以将其用于开关..case或任何您想要的地方。 希望这对其他人有帮助。