如果文件名只是一个数字,你能引用一个drawable吗?
示例:如果我有图像名称" 1.jpg"在res / drawable中,如果我尝试使用R.drawable.1
引用它,将会给我一个错误如果我有一个图像名称" one.jpg"在res / drawable中,如果我尝试使用R.drawable.one
引用它,它将正常工作
答案 0 :(得分:2)
简短回答:否。
更长的答案:
每个包含的资源的文件名用于打包 - 它将被指定为R.java文件中public static final int
的字段名称。这意味着资源名称以及其他限制也必须满足Java变量名称的条件。
注意one of the Java tutorials提醒我们Java变量命名的内容:
变量的名称可以是任何合法的标识符 - 无限长的Unicode字母和数字序列,以字母开头,美元符号" $"或下划线字符& #34; _&#34 ;.
所以以下是有效的Java变量名称并将编译:
public static final int _1=0x7f020000;
public static final int one=0x7f020001;
虽然以下变量名称会导致编译错误:
public static final int 1=0x7f020000;
答案很长,这是Android构建的java中的现有行为,保留了相同的限制。
此外,它更进一步:R.java不是特定于drawables。您会注意到1.xml
文件中没有<string name="1">
布局甚至是strings.xml
。