在可绘制的 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>
我在构建它时遇到了以下错误。 找不到与给定名称匹配的资源(在值为“@dimen/background_radius”的“gradientRadius”处)。 ...\Resources\drawable\background.xml
但是当我在VS中设计的时候,我可以看到正确的背景半径。似乎 VS 无法构建它。
怎么了?
谢谢。
++++++++++++++++++++++++++
由于某些未知原因,该项目没有选取新的 dimens xml 文件。我重新创建了文件并重建了它。现在可以找到维度了。
另外,径向渐变不喜欢带dp的dimen值。所以我将 dimen 资源更新为:
<item name="background_radius" format="float" type="dimen">400</item>
最佳答案
给你的尺寸一个尺寸单位(dp、sp等)
http://developer.android.com/guide/topics/resources/more-resources.html#Dimension
A dimension value defined in XML. A dimension is specified with a number followed by a unit of measure. For example: 10px, 2in, 5sp.
因此,将其更改为:
<?xml version="1.0" encoding="utf-8" ?>
<resources>
<dimen name="background_radius">400dp</dimen>
</resources>
例如。
关于android - 在 Xamarin for Android 中找不到维度资源,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17276802/