参考drawable图像标题为数字

时间:2015-02-14 22:59:27

标签: android drawable

如果文件名只是一个数字,你能引用一个drawable吗?

  

示例:如果我有图像名称" 1.jpg"在res / drawable中,如果我尝试使用R.drawable.1

引用它,将会给我一个错误      

如果我有一个图像名称" one.jpg"在res / drawable中,如果我尝试使用R.drawable.one

引用它,它将正常工作

1 个答案:

答案 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