在Android中创build一个空的Drawable

创build一个完全空的Drawable看起来像一个共同的需求,作为一个占位符,初始状态等,但似乎没有一个好的方法来做到这一点…至less在XML中。 几个地方指的是系统资源@android:drawable/empty但据我所知(即它不在参考文档中,而aapt扼stream圈说它找不到资源),这是不存在的。

有没有一个通用的方法来引用一个空的Drawable,或者你最终为每个项目创build一个假的空PNG?

对于我来说,当我尝试使用@android:id/empty empty来绘制一个空的drawable的时候,它不起作用。 对我来说,@ @android:color/transparent是唯一的。

我使用一个空的ShapeDrawable ,即创build我自己的drawable / empty.xml,只包含<shape/>

对我来说,使用@android:drawable / empty会显示一个错误,并阻止编译。 使用@android:id / empty修复了错误并让我编译,但在Eclipse布局编辑器中显示“NullPointerException:null”。 我把它改为@android:color / transparent,现在一切正常。

我还不能投票,否则我会提高Emil的答案。

XML中的@null与在Java中使用null作为Drawable具有相同的效果。

 <shape /> 

创造一个空的形状,并为我做的伎俩。 或者创build一个包含以下内容的文件empty_drawable.xml:

 <?xml version="1.0" encoding="utf-8"?> <shape xmlns:android="http://schemas.android.com/apk/res/android" /> 

所以你可以在别处使用它。

您也可以通过创buildmy_disablable_view.xml来启用该视图时使其无法使用的形状消失:

 <?xml version="1.0" encoding="utf-8"?> <selector xmlns:android="http://schemas.android.com/apk/res/android"> <item android:state_enabled="true"> <shape android:shape="oval"> <size android:height="10dp" android:width="10dp" /> <solid android:color="@android:color/white" /> </shape> </item> <item android:state_enabled="false"> <shape /> </item> </selector> 

凯,我不知道为什么会这样,但是我也遇到了同样的问题。 我认为这可能与您正在编译的Android版本有关? 在任何情况下,我发现只要使用@android:id / empty就可以使用@android:drawable / empty。