2010-10-24 52 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