android - 在 Xamarin for Android 中找不到维度资源

标签 android xamarin

在可绘制的 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/

相关文章:

android - ADT18更新但部分样式有误

Android Fragment,Force View 手动释放

c# - 如何获取 iOS/Android 上的当前设备语言?

ios - Xamarin Forms iOS - 具有多行选择的 PickerView

java - 无法访问可移植类库中的类

android - 如何访问android中 Activity 之间的共享偏好?

android - 使用 framework-res.apk 中的主题

xamarin - 徽章计数未显示在 Xamarin Forms 中

c# - 如何在 ios xamarin studio 中生成 xml 文档文件?

android - 可以从命令行打开更新、更流畅的 AVD 管理器窗口吗?