Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/189.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
在Android中从XML引用枚举样式属性_Android - Fatal编程技术网

在Android中从XML引用枚举样式属性

在Android中从XML引用枚举样式属性,android,Android,我有一个应用程序,它要求在一个横向方向上启用滚动条,但不能在纵向方向上启用滚动条。我认为最简单的方法是创建一个属性,指示滚动条是否已启用,例如: <ScrollView a:layout_width="fill_parent" a:layout_height="fill_parent" a:scrollbars="?my_activity_scrollbars" a:fadingEdge="none" >

我有一个应用程序,它要求在一个横向方向上启用滚动条,但不能在纵向方向上启用滚动条。我认为最简单的方法是创建一个属性,指示滚动条是否已启用,例如:

<ScrollView
        a:layout_width="fill_parent"
        a:layout_height="fill_parent"
        a:scrollbars="?my_activity_scrollbars"
        a:fadingEdge="none"
        >
很明显,它将“none”视为字符串而不是枚举值。我没有使用“none”,而是尝试了诸如“?android:attr/scrollbars/none”、“?android:attr/none”等,但这些都不起作用


如何将“none”值指定为枚举值而不是字符串?

我相信您的
attr
定义设置不正确:

这是来自android源的attr枚举:

<attr name="ellipsize">
    <enum name="none" value="0" />
    <enum name="start" value="1" />
    <enum name="middle" value="2" />
    <enum name="end" value="3" />
    <enum name="marquee" value="4" />
</attr>


似乎您没有定义
format=“enum”
,而是在
attr
标记本身中指定枚举值。

为了澄清,我将attrs.xml更改为
(从$ANDROID\u SDK/platforms/ANDROID-*/data/res/values/attrs.xml复制枚举值)“一切都很好。”艾姆比非常感谢你的提问和以上评论。但我更喜欢整数值而不是十六进制数值:-)--再次感谢!
<style name="MyApp" parent="@android:style/Theme.Light">
    <item name="add_credit_card_scrollbars">none</item> 
</style>
styles.xml:8: error: Error: String types not allowed (at 'my_activity_scrollbars' with value 'none').
<attr name="ellipsize">
    <enum name="none" value="0" />
    <enum name="start" value="1" />
    <enum name="middle" value="2" />
    <enum name="end" value="3" />
    <enum name="marquee" value="4" />
</attr>