2

我正在尝试创建一个自定义的 android“样式”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').
4

2 回答 2

3

我无法准确解释这种行为。指定<item name="android:radius">6dp</item>应该足够了。

然而,为了解决这个问题,我们可以添加一个维度资源(在同一个文件中,甚至,只要它在style标签之外),然后通过@dimen.

像这样的东西:

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

确保将其指定为6dp(6px也应该工作),而不是6或其6pd任何变体。

于 2012-10-13T05:23:27.483 回答
1

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

机器人:半径=“6dp”

于 2012-10-13T04:34:22.887 回答