我正在尝试创建自定义 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').
我也尝试过 6pd
和 6px
但后来它说不允许使用字符串。我在这里做错了什么?
(任何接受的答案都必须与 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').
最佳答案
我无法准确地解释这种行为。指定<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
或其任何变体。
关于android - 自定义 android 样式不允许整数?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12869771/