自定义android风格不允许整数?

时间:2012-10-13 03:49:54

标签: android android-alertdialog android-styles

我正在尝试创建一个自定义的android“style”xml。虽然我看到的其他人似乎都在使用整数,但它甚至不会编译:

<?xml version="1.0" encoding="utf-8"?>
<resources>
    <style  name="DialogStyle"
            parent="android:style/Theme.Dialog"
            >
        <item name="android:background">@color/ReliantCyan</item>
        <item name="android:radius">6</item>
        <item name="android:textColor">@color/White</item>
    </style>
</resources>

得到我:

 .../dialogStyle.xml:7: error: Error: Integer types not allowed (at 'android:radius' with value '6').

我还尝试了6pd6px但是它说没有字符串允许。我在这里做错了什么?

(任何接受的答案必须与android 2.2兼容。)


我现在也尝试过:

<dimen name="dRadius">10pd</dimen>

然后

<item name="android:radius">@dimen/dRadius</item>

但是我得到了一个非常类似的错误:

 ... error: Error: String types not allowed (at 'dRadius' with value '10pd').

2 个答案:

答案 0 :(得分:3)

我无法完全解释这种行为。指定<item name="android:radius">6dp</item>就足够了。

但是,要解决此问题,我们可以添加维度资源(在同一文件中,只要它在style标记之外),然后通过@dimen使用。 / p>

这样的事情:

<resources>
    <dimen name="testradius">6dp</dimen>
    <style ...>
        ...
        <item name="android:radius">@dimen/testradius</item>
        ...
    </style>
</resources>

请务必将其指定为6dp6px也应该有效),而不是66pd或其任何变体。

答案 1 :(得分:1)

我可能错了,但我认为你的声明应该是

机器人:半径= “6DP”