如何在Eclipse中添加XML可绘制资源

6

大家好,我在这里遇到了一些麻烦。根据谷歌的官方文档,"一旦你在XML中定义了Drawable,就将文件保存在项目的res/drawable/目录下",这是将XML Drawable添加到项目中的方法。

但是当我创建项目时,ADT为mdpi、hdpi和ldpi分别创建了3个不同的drawable文件夹。所以当我想创建我的XML Drawable时,我右键单击我的drawable-hdpi文件夹并选择"添加新的Android XML文件",然后我必须选择要创建的XML文件类型,但没有"drawable"选项可供选择。

如果我创建一个新的文本文件并将其保存为button_drawable.xml,Eclipse会报告该文件存在错误,并且无法构建我的项目。

那么,请告诉我如何在Eclipse ADT中添加XML Drawables呢?


无法理解“但是没有可选择的“drawable”。” - viv
新的Android XML文件有各种选项,如layout、strings、values等,但drawable不在选项列表中。 - djandreski
1
一种简单的方法,无需详细了解......选择其中任何一个,并将您想要在xml文件中替换的代码,用它自己在该文件中创建的代码替换。 - viv
8个回答

10

只需自己创建一个drawable文件夹,然后将您的文件放入其中即可。


只是澄清一下,这应该放在 /res/ 文件夹里吗? - David

4

有时我也会遇到这个问题。

我通常将XML可绘制文件创建为“新文本文件”。如果在创建XML可绘制文件后出现错误,请检查XML语法以确保文件中没有错误,并尝试清理项目(项目->清理->您的项目)。

祝你好运


2
为什么不能在这里使用BitmapDrawable?下面是示例代码:
<?xml version="1.0" encoding="utf-8"?>
<bitmap
xmlns:android="http://schemas.android.com/apk/res/android"
android:src="@drawable/drawable_resource"
android:gravity="center"
android:tileMode="repeat"/>
  1. 只需替换您的可绘制资源名称并将其保存为.xml文件。
  2. 将文件存储在res / drawable目录中。
  3. 将引用分配给android:background =“@drawable / drawable_resource”,它将被平铺。

例:

<LinearLayout
android:background="@drawable/drawable_resource"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
>
</LineatLayout

这是一个完整的位图Drawable模板,您可以根据需要选择属性值。
<?xml version="1.0" encoding="utf-8"?>
<bitmap
    xmlns:android="http://schemas.android.com/apk/res/android"
    android:src="@[package:]drawable/drawable_resource"
    android:antialias=["true" | "false"]
    android:dither=["true" | "false"]
    android:filter=["true" | "false"]
    android:gravity=["top" | "bottom" | "left" | "right" | "center_vertical" |
                      "fill_vertical" | "center_horizontal" | "fill_horizontal" |
                      "center" | "fill" | "clip_vertical" | "clip_horizontal"]
    android:tileMode=["disabled" | "clamp" | "repeat" | "mirror"] />

您可以在这里找到同样的文档,查找 XML 位图:这里

2

截至今日,在Eclipse ADT中没有对drawable资源的“直接”支持。

因此,您需要从Eclipse包资源管理器中“手动”将一个名为“drawable”的新文件夹添加到您的项目“res”文件夹中。

然后,仍然从包资源管理器中,您需要手动添加一个新的XML文件到新创建的文件夹中(右键单击\新建\其他\XML\XML文件)。


这个方法可行。只需添加一个新的XML文件,添加“drawable”元素,就不会报错了。在我的情况下它起作用了。 - sandalone

1
只需将一个新的XML文件添加到res/drawable文件夹中。 drawable文件看起来像这样:
<?xml version="1.0" encoding="utf-8"?>
<shape xmlns:android="http://schemas.android.com/apk/res/android">
    <gradient
        android:startColor="#FF000000"
        android:centerColor="#FF000000"
        android:endColor="#FF777777"
        android:angle="90" />
</shape>

1
他遇到了问题,因为他添加了新的Android XML文件,而不是新的XML文件 ;) - sandalone

1
从“图像和媒体”文件夹中的调色板中拖放一个图像按钮。当选择图标的对话框出现时,点击下方的“创建新图标”,输入新可绘制对象的名称(仅小写字母),然后选择图像以及可绘制对象的用途(例如按钮)。记得选择正确的主题,为其创建图标(浅色主题或深色主题)。Eclipse会自动调整图片大小并完成所有其他工作,使您拥有好看的可绘制对象。之后,您可以删除图像按钮。这种方法可能有些奇怪,但它是最快捷的方式,无需编码、无需任何图形工作或文件管理!

这并没有回答问题。这只是创建了一个PNG可绘制对象,而不是XML可绘制对象。 - laalto

0

就像你所说的一样:你必须手动创建文件。但是XML文件内容也必须有效。这就是全部。您可以向我们展示您的button_drawable.xml内容,以便我们检查它。


0
这对我来说很有用,可以在res文件夹内创建一个“drawable”文件夹。右键单击res文件夹->新建->其他->常规->文件夹,然后点击下一步。在项目的文件夹集合中选择res,然后给它命名为“drawable”,最后点击完成!

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接