Создание пустой Drawable в Android

Создание полностью пустой пустой Draw похоже на обычную потребность, как место, начальное состояние и т.д., но, похоже, нет хорошего способа сделать это... по крайней мере в XML. Несколько мест относятся к системному ресурсу @android:drawable/empty, но насколько я могу судить (т.е. Он не в ссылочных документах, а aapt chokes говорит, что он не может найти ресурс), этого не существует.

Есть ли общий способ ссылки на пустой Drawable или вы создаете поддельный пустой PNG для каждого проекта?

Ответ 1

Для меня это не сработало, когда я пытался использовать @android:id/empty при создании пустого шаблона. Для меня @android:color/transparent был тем.

Ответ 2

Я использую пустой ShapeDrawable, т.е. создаю свой собственный drawable/empty.xml, содержащий только <shape/>

Ответ 3

Для меня использование @android: drawable/empty приведет к ошибке и предотвратит компиляцию. Используя @android: id/empty исправил ошибку и разрешил мне скомпилировать, но показал "NullPointerException: null" в редакторе макета Eclipse. Я изменил его на @android: цвет/прозрачность, и теперь все в порядке.

Я еще не могу проголосовать, или я бы ответил на Эмиля.

Ответ 4

@null в XML имеет тот же эффект, что и использование null как Drawable в Java.

Ответ 5

<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> 

Ответ 6

Кай, я не знаю, почему так, но у меня такая же проблема. Я думаю, это может быть связано с версией Android, для которой вы компилируете? В любом случае я обнаружил, что просто используя @android: id/empty, где вы бы использовали @android: drawable/empty делает трюк.