4

在可绘制的 XML 文件中,我想使用维度资源“background_radius”。

<?xml version="1.0" encoding="utf-8"?>
<shape xmlns:android="http://schemas.android.com/apk/res/android">
<gradient 
    android:type="radial"
    android:startColor="#FFFFFF"
    android:endColor="#00000"
    android:gradientRadius="@dimen/background_radius"
/>
</shape>

维度资源在 Values\Dimens.xml 中定义

<?xml version="1.0" encoding="utf-8" ?>
<resources>
    <dimen name="background_radius">400dp</dimen>
</resources>

构建时出现以下错误。未找到与给定名称匹配的资源(位于“gradientRadius”,值为“@dimen/background_radius”)。...\资源\drawable\background.xml

但是当我在 VS 中设计它时,我可以看到正确的背景半径。似乎 VS 无法构建它。

怎么了?

谢谢。

+++++++++++++++++++++++++++++

由于某种未知原因,该项目没有选择新的dimens xml 文件。我重新创建了文件并重建它。现在可以找到尺寸。

另外,径向梯度不喜欢有dp的dimen值。所以我将dimen资源更新为: <item name="background_radius" format="float" type="dimen">400</item>

4

2 回答 2

3

给你的维度一个维度单位(dp、sp等)

http://developer.android.com/guide/topics/resources/more-resources.html#Dimension

XML 中定义的维度值。维度由一个数字指定,后跟一个度量单位。例如:10px、2in、5sp。

因此,将其更改为:

<?xml version="1.0" encoding="utf-8" ?>
<resources>
    <dimen name="background_radius">400dp</dimen>
</resources>

例如。

于 2013-06-24T13:34:36.213 回答
1

我遇到了类似的事情;创建了一个 Colors.xml 文件,一切正常,但找不到资源。过了一会儿,我忘记了它,发现它终于被捡起来了。今天做了一个 Dimens.xml 并且发生了完全相同的事情。

我必须重新启动 Visual Studio 才能获取它。

于 2018-06-08T11:59:58.200 回答