2012-07-22 25 views

Respuesta

24

Claro. Solo use un LayerListDrawable.

Algo así como:

<layer-list xmlns:android="http://schemas.android.com/apk/res/android" > 
    <item> 
     <shape android:shape="rectangle" > 
      <solid android:color="#FF00ffff" /> 
     </shape> 
    </item> 
    <item> 
     <bitmap 
      android:src="@drawable/your_tiled_drawable" 
      android:tileMode="repeat" /> 
    </item> 
</layer-list> 

Guardar que en su directorio res/drawables, y utilizarlo como fondo.

Lamentablemente, si su aplicación es más complicada, a veces el tileMode se desarmará sin ningún motivo aparente. Si te metes en eso, tendrás que volver a agregar el modo mosaico en Java.

por lo general sigue siendo la pusieron en XML, y luego hacer algo como:

View v = findViewById(R.id.my_view); 
LayerDrawable lld = (LayerDrawable) v.getBackground(); 
BitmapDrawable tiled = (BitmapDrawable) lld.getDrawable(1); 
tiled.setTileModeXY(TileMode.REPEAT, TileMode.REPEAT); 
+0

impresionante, eso es lo que estaba buscando. – Signcodeindie

+0

@ABentSpoon, exactamente lo que estoy buscando, pero la imagen se alarga. ¿Cómo guardo la relación de aspecto de la imagen? – Euridice01

0

Sí.

Puede usar ImageView. Establezca su color de fondo y configure la imagen semitransparente como su fuente.

Si quieres hacer esto a un diseño, a continuación, extender esa disposición y en onDraw() sustituido, dibuje el color de fondo y se mezclan con la imagen semitransparente

Paint p = new Paint(); 
p.setXfermode(new PorterDuffXfermode(Mode.MULTIPLY)); 
Cuestiones relacionadas