¿Es el tamaño de Layered Drawable?
Estoy haciendo un icono para mi aplicación .. La aplicación es básicamente un buscador de amigos. Estoy creando una superposición que se parece mucho a los iconos de Google Latitude. Tengo una imagen que cambia debido al usuario y tengo el pensionista. He sido capaz de hacer la capa de dibujo y superposición bien, pero el problema es que la imagen se extiende hasta el tamaño de la frontera. Esto es un problema porque, si nunca has visto los iconos de Google Lat, tiene un punto en la parte inferior con espacio abierto entre ella.
Lo que tengo que hacer es, de alguna manera restringir el tamaño de la imagen cambiante a los límites de la parte cuadrada de la frontera. Cualquier ayuda sería muy apreciada. Aquí está mi fragmento:
- Guardar un ImageView en la Galería - El código no funciona
- ¿Cómo escuchar los eventos completos de carga de Picasso (Android)?
- Cómo agregar fuente de 'Android Private Libraries' a ADT eclipse?
- plataforma cordova añadir android obtener un error en JAVA_HOME
- Configuración de orientación múltiple - Android
BitmapFactory.Options options = new BitmapFactory.Options(); options.inSampleSize = 25; Bitmap bit = BitmapFactory.decodeFile(photo, options); draw = new BitmapDrawable(bit); Resources r = getResources(); Drawable[] layers = new Drawable[2]; layers[0] = draw; layers[1] = r.getDrawable(R.drawable.border); LayerDrawable layerDrawable = new LayerDrawable(layers); draw = layerDrawable; }else{ draw = this.getResources().getDrawable(R.drawable.androidmarker); } HelloItemizedOverlay itemizedoverlay = new HelloItemizedOverlay(draw, this); GeoPoint point = new GeoPoint(lat,lon); OverlayItem overlayitem = new OverlayItem(point, username, avail + " : " + status + " : Position updated at : " + update_at); items.add(overlayitem); itemizedoverlay.addOverlay(overlayitem); mapOverlays.add(itemizedoverlay);
- No se puede obtener el proveedor com.google.android.gms.measurement.AppMeasurementContentProvider
- ListView OnItemLongClickListener () no activado
- Nuevo mapa de bits modificado en la copia que utiliza el búfer
- Error fatal: Diseño no válido de java.lang.String en value
- ¿Qué hay de malo en esta URL URI? IllegalArgumentException, Caracteres no válidos
- Error de Android NDK ndk-build helloJni
- java.lang.NullPointerException error en una consulta
- Dibujo de nueve parche sobre lienzo (Android)
Divertido ese shorty después de que fijé esto, encontré la respuesta. Yo estaba buscando en todos los lugares equivocados para cambiar el tamaño de la imagen. He intentado el mapa de bits, el dibujable, las capas dentro de la layerdrawable. Pero, lo que nunca probé fue el layerdrawable en sí. La solución está abajo:
Resources r = getResources(); Drawable[] layers = new Drawable[2]; layers[0] = draw; layers[1] = r.getDrawable(R.drawable.border); LayerDrawable layerDrawable = new LayerDrawable(layers); layerDrawable.setLayerInset(0, 0, 0, 0, 12); draw = layerDrawable;
El método de inserción layerDrawable es el siguiente:
layerDrawable.setLayerInset(*index of layer*, *left inset*, *top*, *right*, *bottom*);
¡Gracias chicos!
- Crear un evento repetitivo con recordatorio hasta el día específico sin Intent en Android?
- Crear configuración de punto de acceso Wifi en android