2011-02-01 74 views
1

文档说要将按钮的XML状态文件放在“可绘制”文件夹中 - 哪一个至少有三个?! (把它放在res/drawable给出一个不同步的文件系统错误,并把它放在每个drawable- * dpi中,其中*是l,m,h也是一个错误。)Android按钮状态文件

+0

我的不好,没有得到XML部分。我会看着它。 – gnclmorais 2011-02-01 10:40:14

+0

据我所知,您可以删除这三个drawable- * dpi文件夹并只使用一个drawable。 – gnclmorais 2011-02-01 10:42:13

+0

@MEGA:不用担心。我建议为XML文件提供`drawable-nodpi`。我讨厌他们的含糊不清的文件。在苹果上摇滚。 – SK9 2011-02-01 10:43:58

回答

-2

我建议drawable-nodpi,因为它工作。

但是,当它需要时,这在文档中并不明显。

如何使一些琐碎复杂?使它模糊。

1

res/drawable是可以和默认的。

“fs不同步”可能来自您的IDE,例如将文件通过命令行或进入文件夹。 IDE通常会尝试记住文件的状态并以这种方式报告外部变化。尝试在IDE中发出“刷新”命令。

res/drawable是如果您不在res/drawable- * dpi中提供更多特定图像或一些定位对象时所采用的后备。

看一看文档: http://developer.android.com/guide/topics/resources/providing-resources.html#AlternativeResources

绘制-nodpi是文件的特定目录你不希望缩放,这是没有意义的在所有的按钮,只要你想按钮,按照规模屏幕尺寸/ dpi。

0

您应该使用res/drawable为您的XML状态列表drawables。如果出现“不同步文件系统”错误,只需刷新Eclipse项目(在项目窗格中选择它并点击F5)。

XML状态列表(大多数情况下)不是DPI独立的。但是,其内容不会在不同的DPI环境中发生变化。基本上,这意味着如果您从状态列表中引用名为@drawable/btn_pressed的原始可绘制文件,则Android会根据环境(drawable-*dpi/btn_pressed.png)查找该可绘制文件的相应文件。如你所见,尽管LDPI,MDPI和HDPI上的状态列表是相同的,但其中引用的可绘制对象可能会改变。