2010-10-24 81 views
4

我在教自己的Android使用Eclipse,Android插件和Sams“自学Android开发”一书。我有这个奇怪的小问题。我已经能够在res/values目录中创建包含字符串和颜色值(colors.xml和strings.xml)的xml文件。我已经能够在Android屏幕的属性(res/layout中的xml)中引用这些值,例如,使用“@ string/topTitle”和“@color”等引用来设置“Text”和“Text color”属性/ titleColor“,其中topTitle和titleColor是在xml文件中定义的。Eclipse + Android不识别我的(尺寸)值

但是:当我创建一个名为“dimens.xml”的文件并且其中包含字体大小时,Eclipse会正确地将此文件放在res/values中,但是当我尝试引用这些值时“@ dimension/titleFont”我得到一个错误“找不到与给定名称匹配的资源。”我尝试了很多不同的名字,我试过“@dimens”而不是类型,仍然没有。如果我进入layout xml文件并将其明确设置为字体大小,例如22pt,它的工作原理。

因此,当我将它放在res/values中并且让我编辑它并显示它充满(尺寸)值时,Eclipse识别出我的“dimens.xml”文件。它只是不承认我在其他XML文件中引用它。

我正在使用的这本书实际上并没有显示维度的例子,所以我必须做错了什么。我查看了Android文档,但看不到任何问题。

任何帮助表示赞赏。谢谢。

回答

8

指一个维度变量的正确方法(存储在您的dimens.xml(不要觉得这个名字在这里真正的问题,虽然,它的里面有什么,做))从另一个XML文件是这样的:

"@dimen/nameOfVariable" 

注意,它既不尺寸尺寸梦诗,但dimen

如果你看看,你有你的价值观的XML文件中,这将使意义,因为dimen是XML元素存储维值的名称:

<?xml version="1.0" encoding="utf-8"?> 
<resources xmlns:android="http://schemas.android.com/apk/res/android"> 
    <dimen name="someDimension">5dp</dimen> 
    <dimen name="anotherDimension">10dp</dimen> 
</resources> 
+0

THANK YOU!问题解决 - 现在正在开展工作。所以我使用XML元素名称,应该想到... – Tim 2010-10-24 16:54:14

+0

@Tim:很高兴能帮到你!您应该将此答案标记为已接受,因为它解决了您的问题。以及如果你发现它是一个很好的答案,考虑一个投票:) – Nailuj 2010-10-24 18:38:19

+0

我很高兴将问题标记为回答并给你一个加票(这样你可以保存它们以获得一个免费的烤面包机或不管),但我看不到在页面上做什么这些任务...... – Tim 2010-10-24 19:31:10