Dibujar texto en la parte superior de mapa de bits no

Quiero mostrar un punto y un texto encima de una imagen. He intentado varios tutorial sobre la superposición de mapa de bits, pero no parece funcionar. Aquí está el código que muestra la imagen de fondo.

mBitmap = BitmapFactory.decodeResource(getResources(), R.drawable.roomplan); mIV = (ImageView)findViewById(R.id.ImageView01); mIV.setImageBitmap(mBitmap); mIV.invalidate(); btnDraw = (Button)findViewById(R.id.Button01); btnDraw.setOnClickListener(this); 

A continuación, en OnClickListener, defino otro mapa de bits y dibujar el punto y el texto.

 Bitmap bmOverlay = Bitmap.createBitmap(mBitmap.getWidth(), mBitmap.getHeight(), Bitmap.Config.ARGB_4444); Canvas canvas = new Canvas(bmOverlay); Paint paint = new Paint(); paint.setColor(Color.CYAN); paint.setTextSize(20); paint.setFlags(Paint.ANTI_ALIAS_FLAG); canvas.drawText("You are here", 100, 100, paint); canvas.drawPoint(30.0f, 50.0f, paint); canvas.drawBitmap(bmOverlay, 0, 0, null); 

No aparece nada en la parte superior de la imagen de fondo, aunque quite la imagen. Cualquier sugerencia por favor?

Actualización: El código de trabajo

 // get a reference to the background image mBitmap = BitmapFactory.decodeResource(getResources(), R.drawable.raumplan_isst); mIV = (ImageView)findViewById(R.id.ImageView01); // create a mutable bitmap with the same size as the background image Bitmap bmOverlay = Bitmap.createBitmap(mBitmap.getWidth(), mBitmap.getHeight(), Bitmap.Config.ARGB_4444); // create a canvas on which to draw canvas = new Canvas(bmOverlay); Paint paint = new Paint(); paint.setColor(Color.CYAN); paint.setTextSize(20); paint.setFlags(Paint.ANTI_ALIAS_FLAG); // if the background image is defined in main.xml, omit this line canvas.drawBitmap(mBitmap, 0, 0, null); // draw the text and the point canvas.drawPoint(fKoordX, fKoordY, paint); canvas.drawText("You are here", fKoordX+3, fKoordY+3, paint); // set the bitmap into the ImageView mIV.setImageBitmap(bmOverlay); 

¿Qué haces con el lienzo? ¿Dónde se utiliza? (Publicar más código …)

Aparte de que el orden de dibujo es incorrecto, usted está sobregirando su texto y punto con el mapa de bits.

Editar:

Estoy un poco perdido, ya que no sé cuál de sus imágenes debe ser el fondo y qué imagen ya ves … así que estoy adivinando que mBitmap (el roomplan) es su fondo? Que añadir que a su diseño como una imagen de fondo y simplemente utilizar el ImageView para dibujar su superposición …

Si su superposición necesita una imagen de fondo también, pruebe que:

 // overlay background canvas.drawBitmap(myBmp, 0, 0, paint); // draw the text and the point canvas.drawText("You are here", 100, 100, paint); canvas.drawPoint(30.0f, 50.0f, paint); 

Si su ImageView debe tener el plan de sala como fondo, pruebe que:

 // overlay background canvas.drawBitmap(mBitmap, 0, 0, paint); // draw the text and the point canvas.drawText("You are here", 100, 100, paint); canvas.drawPoint(30.0f, 50.0f, paint); 
  • Cómo actualizar dinámicamente un elemento de superposición específico
  • Dibujo sobre otras aplicaciones en Android
  • Barra de navegación de Android superpuesta a mi vista
  • Implementación de un mapa interior
  • ListView superpone otro diseño al desplazarse
  • Android: superposición en la ventana sobre las actividades de una tarea
  • ¿Cómo grabar video con superposición animada en Android?
  • Cómo crear un diseño de superposición en una vista de lista
  • ¿Cómo capturar eventos onTouch en dos vistas superpuestas?
  • Superposición de vista de aplicación de Android (HUD)
  • Dibujo de una línea / ruta en Google Maps
  • FlipAndroid es un fan de Google para Android, Todo sobre Android Phones, Android Wear, Android Dev y Aplicaciones para Android Aplicaciones.