herramientas - manual android studio avanzado



Crear un Drawable vacío en Android (5)

Kai, no sé por qué es este el caso, pero he tenido el mismo problema. ¿Creo que podría estar relacionado con la versión de Android para la que estás compilando? En cualquier caso, descubrí que simplemente usando @android: id / empty donde usaría @android: dibujable / vacío hace el truco.

Crear un Drawable que esté completamente vacío parece ser una necesidad común, como un marcador de posición, estado inicial, etc., pero no parece haber una buena manera de hacerlo ... al menos en XML. Varios lugares se refieren al recurso del sistema @android:drawable/empty pero, por lo que puedo decir (es decir, no está en los documentos de referencia, y ahoga chokes diciendo que no puede encontrar el recurso), esto no existe.

¿Hay una manera general de hacer referencia a un Drawable vacío, o terminas creando un PNG vacío falso para cada proyecto?


Answer #1

Para mí, no funcionó cuando intenté usar @android:id/empty al hacer un drawable vacío. Para mí, @android:color/transparent fue el @android:color/transparent .


Answer #2

Uso un ShapeDrawable vacío, es decir, creo mi propio drawable / empty.xml que contiene solo <shape/>


Answer #3

Utilice @android:color/transparent y no olvide add android:constantSize="true" en <selector>


Answer #4
<shape />

crea una forma vacía y hace el truco para mí. O crea un archivo empty_drawable.xml que contenga:

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

para que puedas usarlo en otro lado.

También puede hacer desaparecer una forma cuando la vista en la que se utiliza no está habilitada al crear 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> 




android