Eclipse + Android не распознает мои (размерные) значения - PullRequest
4 голосов
/ 24 октября 2010

Я учу себя Android, используя Eclipse, плагин для Android и книгу Самса «Обучай себя Android».У меня есть эта странная маленькая проблема.Я был в состоянии создать XML-файлы в каталоге res / values, которые содержат строки и значения цвета (colors.xml и strings.xml).Я смог сослаться на эти значения в свойствах моих экранов Android (xml в res / layout), например, установив свойства «Текст» и «Цвет текста» с такими ссылками, как «@ string / topTitle» и «@color»./ titleColor, "где topTitle и titleColor определены в файлах xml.

НО: когда я создаю файл с именем "dimensions.xml" и в нем есть размеры шрифта, Eclipse правильно помещает этот файл в res / values, но когда я пытаюсь ссылаться на эти значения, например, "@ dimension /titleFont "Я получаю сообщение об ошибке" Не найден ресурс, соответствующий указанному имени. "Я пробовал много разных имен, я пробовал "@dimens" вместо типа, но ничего не вышло.Если я захожу в файл макета XML и явно устанавливаю размер шрифта, например, 22pt, он работает.

Таким образом, Eclipse распознал мой файл "измерения.xml", когда я сделал его достаточно хорошо, чтобы поместить его в res / values, и позволил мне отредактировать его и показал его полный (размерности) значений.Он просто не распознает мою ссылку на него в других XML-файлах.

Книга, которую я использую, на самом деле не показывает пример измерения, поэтому я должен что-то делать не так.Я проверил документы по Android, но не увидел никаких проблем.

Любая помощь приветствуется.Спасибо.

1 Ответ

8 голосов
/ 24 октября 2010

Правильный способ ссылки на переменную измерения (хранится в вашем 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>
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...