1

我正在做教程,我在关于图像的部分。它说将它们放入文件夹 res/drawable 中。但我没有那个文件夹,我有三个:res/drawable-hdpi、 res/drawable-ldpires/drawable-mdpi. 那么它们之间有什么区别呢?

我正在使用教程。

步骤之一是:

在 res/values/ 中创建一个 strings.xml 文件并编辑该文件使其看起来像

已经有 strings.xml,结合上面,告诉我用res/drawable,这些教程是不是已经过时了?

本教程的代码如下:

R.id.spinner
R.array.planets_array

R.layout 只是简单的枚举。使用布局文件夹中的 main.xml。但是从哪里来R.idR.array从哪里来。因为它在日食中出现,说它不知道它们是什么。R.java自动更新,所以有人可以告诉我阅读该教程,其中 id 被添加到 R 中吗?它说

R.array.planets_array ID 引用了上面定义的字符串数组

只是它不起作用。我怀疑我没有制作 strings.xml 是否会有所不同,因为它在同一位置是相同的文件名。但由于 R.java 意味着自动更新,我不知道如何解决这个问题。

4

3 回答 3

1

这些适用于现有设备范围的不同屏幕分辨率。在 Android 开发网站上阅读有关支持多个屏幕的信息。

于 2011-03-22T14:14:10.777 回答
1

只是为了让你知道 R 的东西是从哪里来的。

R.java文件是一个生成的文件,其中包含指向应用程序中资源的某种指针。它实际上是一个简单的整数,在Android内部资源管理系统中唯一标识资源。

R.string例如,标识符是从资源 XML 文件生成的,例如这个。

<resources>
    <string name="test">This is a test string.</string>
</resources>

R.array来自字符串数组 XML 文件的标识符。

<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 布局文件中定义 a 时。@+id/...注意+标志。

另一种方法是在资源 XML 文件中定义它们,例如字符串。

<resources>
    <item type="id" name="first" />
    <item type="id" name="second" />
</resources>

然后,您只需在这样的布局 XML 文件中使用它们@id/first。请注意,在您声明它之前,您引用它时不再有符号 +

然后在代码中像这样使用它,R.id.first.

还有很多其他资源。我想向您指出应用程序资源文章,并确保查看资源类型子文章。

于 2011-03-22T14:53:29.953 回答
0

如果您没有该文件夹,只需创建它。这基本上是您在更具体的文件夹(如 res/drawable-hdpi)中没有资源的情况的后备方案

*-xx 文件夹允许您为各种屏幕分辨率提供更具体的可绘制对象(图像)。

同样的原则适用于 values/ 和 values-xx/ ,其中 xx 是国家代码;xx 版本允许您翻译 UI 消息。

于 2011-03-22T14:16:26.737 回答