创建一个完全空的Drawable看起来像一个普通的需求,作为占位符,初始状态等,但似乎没有一个好方法来做到这一点......至少在XML中。有几个地方是指系统资源@android:drawable/empty
,但据我所知(即它不在参考文档中,并且aapt扼流圈说它找不到资源),这不存在。在Android中创建一个空的Drawable
是否有引用空Drawable的一般方法,或者最终是否为每个项目创建了一个假的空PNG?
创建一个完全空的Drawable看起来像一个普通的需求,作为占位符,初始状态等,但似乎没有一个好方法来做到这一点......至少在XML中。有几个地方是指系统资源@android:drawable/empty
,但据我所知(即它不在参考文档中,并且aapt扼流圈说它找不到资源),这不存在。在Android中创建一个空的Drawable
是否有引用空Drawable的一般方法,或者最终是否为每个项目创建了一个假的空PNG?
对我而言,当我在制作空白绘图时尝试使用@android:id/empty
时,它不起作用。对我而言,@android:color/transparent
就是其中之一。
凯,我不知道为什么会这样,但我得到了同样的问题。我认为这可能与您正在编译的Android版本有关?无论如何,我发现只需使用@android:id/empty就可以使用@android:drawable/empty。
对我来说,使用@android:drawable/empty会显示错误并阻止编译。使用@android:id/empty修复了错误并让我编译,但在Eclipse布局编辑器中显示“NullPointerException:null”。我将它改为@android:color/transparent,现在一切正常。
我还不能投票,否则我会提高Emil的答案。
我用一个空ShapeDrawable
,即创建一个包含只是<shape/>
@null
在XML我自己绘制/ empty.xml具有作为使用null
作为Java中的Drawable
同样的效果。
<shape />
创建一个空的形状,为我做的伎俩。或者创建一个文件empty_drawable.xml,其中包含:
<?xml version="1.0" encoding="utf-8"?>
<shape xmlns:android="http://schemas.android.com/apk/res/android" />
因此您可以在其他地方使用它。
你也可以做一个形状消失时,它在使用的视图不被创建my_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>
我希望这会工作,但如果我用它绘制XML和某个设定作为布局XML的背景,我得到错误“- 标签需要'drawable'属性或子标签定义可绘制的” –
user3175580
2016-12-02 00:59:39