В исходном коде Android Studio XML, если я на что-то ссылаюсь, написав «@ color / primaryColor», будет ли он искать только класс с именем «color»? - PullRequest
0 голосов
/ 07 мая 2020

Я спрашивал много людей, и все говорили мне, что и R, и цвет - это классы, которые создаются автоматически. Поэтому, когда я ссылаюсь на файл XML, записывая @color/primaryColor, я предполагаю, что он ищет класс с именем color, потому что цвет - это буквально класс. Но гипотетически, если есть файл с именем color и папка с именем color, то каков будет приоритет? будет ли он сначала искать класс с именем color, а затем искать файл, а затем папку? Что бы он на самом деле сделал?

Ответы [ 2 ]

0 голосов
/ 09 мая 2020

Ни то, ни другое: ищет ресурсы типа color. См. здесь для обзора типов ресурсов в целом.

Эти ресурсы обрабатываются из ваших файлов XML с помощью Android Asset Packaging Tool (AAPT) как часть вашего процесса сборки. Имя файла не имеет значения: цвета часто, но не обязательно, присутствуют в файле colors.xml.

Невозможно определить эти ресурсы из Java, либо путем создания класса , папкой или любым другим способом.

0 голосов
/ 07 мая 2020

Когда вы устанавливаете @ color / colorPrimary в xml, тогда он считывается из app / res / values ​​/ colors. xml.
"colors. xml" имеет 3 названия цвета по умолчанию, и вы можете создать ваши собственные цвета внутри того же файла.

...