我正在做教程,而我正在处理关于图像的部分。它说将它们放入res / drawable文件夹中。但我没有该文件夹,而是我有三个:res/drawable-hdpi
,r es/drawable-ldpi
和res/drawable-mdpi
。那么他们之间有什么不同呢?
我正在使用this教程。
其中一个步骤是:
在中创建strings.xml文件 res / values /并编辑要查看的文件 像
已经有strings.xml
,结合上述情况,告诉我使用res / drawable,这些教程是否过时了?
本教程的代码如下:
R.id.spinner
R.array.planets_array
R.layout只是简单的枚举。使用布局文件夹中的main.xml。但R.id
和R.array
来自何处。因为它正在日食中说它不知道它们是什么。 R.java
会自动更新,所以有人可以告诉我阅读那个ID被添加到R的教程吗?它说
R.array.planets_array ID 引用定义的字符串数组 上述
只有它不起作用。我怀疑它是否有所不同,我没有创建strings.xml,因为它在同一位置是相同的文件名。但由于R.java要自动更新,我不知道如何解决这个问题。
答案 0 :(得分:1)
这些是针对那里的设备范围的不同屏幕分辨率。阅读Android开发者网站上的supporting multiple screens。
答案 1 :(得分:1)
只是让你知道R的来源。
R.java
文件是一个生成的文件,其中包含指向应用程序中资源的某种指针。它实际上是一个简单的整数,它唯一地标识Android内部资源管理系统中的资源。
R.string
标识符是从资源XML文件生成的,例如这个。
<resources>
<string name="test">This is a test string.</string>
</resources>
字符串数组XML文件中的 R.array
个标识符。
<resources>
<string-array name="days_of_week">
<item>Monday</item>
<item>Tuesday</item>
<item>Wednesday</item>
<item>Thursday</item>
<item>Friday</item>
<item>Saturday</item>
<item>Sunday</item>
</string-array>
</resources>
您现在可以使用其标识符R.id.days_of_week
访问该数组。
R.id
标识符有点特殊。
它们以两种方式生成。第一个是使用View
语法在XML布局文件中定义@+id/...
时。请注意+
符号。
另一种方法是在资源XML文件中定义它们,例如字符串。
<resources>
<item type="id" name="first" />
<item type="id" name="second" />
</resources>
然后,您只需在像@id/first
这样的布局XML文件中使用它们。请注意,在您声明之前,再次引用没有 +
符号。
在代码中,您可以像R.id.first
一样使用它。
还有很多其他资源。我想向您转发Application Resources文章,并确保查看Resource Types子文章。
答案 2 :(得分:0)
如果您没有该文件夹,只需创建它。对于你没有像res / drawable-hdpi这样更具体的文件夹中的资源的情况,它基本上是后备的
* -xx文件夹允许您为各种屏幕分辨率提供更具体的drawable(图像)。
同样的原则适用于值/和值-xx /其中xx是国家代码; xx版本允许您翻译UI消息。