2011-03-24 16 views
8

Quiero convertir una vista RelativeLaout en un mapa de bits. He intentado con otras respuestas y diferentes opciones sin éxito. Mi Vista XML es una especie de:measure() no funciona correctamente con diseños dinámicos y textView - Android

 
----RelativeLayout 
-------ImageView 
-------TextView 

Cada queridos han wrap_content medidas.

como necesito varios mapas de bits de la vista, im inflar esta manera:

 LayoutInflater inflater = (LayoutInflater)mContext.getSystemService(Context.LAYOUT_INFLATER_SERVICE); 
View v = inflater.inflate(R.layout.localviewlayout, null); 

ImageView img = (ImageView) v.findViewById(R.id.imgPlace); 
img.setImageBitmap(MyDynamicBitmap); 

TextView txt1 = (TextView)v.findViewById(R.id.text1); 
txt1.setText(MyDynamicText); 
return v;

Después de eso:

 

//in measure() i get a nullpointerException on RelativeLayout.onMeasure().I also have tried //with MeasureSpec.EXACTLY 
v.measure(MeasureSpec.makeMeasureSpec(0, MeasureSpec.UNSPECIFIED), 
          MeasureSpec.makeMeasureSpec(0, MeasureSpec.UNSPECIFIED)); 
v.layout(0, 0, v.getMeasuredWidth(), v.getMeasuredHeight()); 
Bitmap b = Bitmap.createBitmap(v.getWidth(), v.getHeight(), Bitmap.Config.ARGB_8888); 
v.draw(new Canvas(b)); 
Paint p = new Paint(); 
myMainCanvas.drawBitmap(b, myPointX, myPointY, p);     

El contenido de Textview del RelativeLayout es dinámico, así que no puedo saber el ancho o la altura del texto. Además de la excepción, si configuro manualmente el tamaño suficiente en la función de medida (en lugar de 0), mi texto dinámico no se muestra por completo. Espero que me puedan ayudar porque ahora mismo, estoy atascado. Gracias youuu

Respuesta

22

Trate de añadir

v.setLayoutParams(new LayoutParams(
    LayoutParams.WRAP_CONTENT, LayoutParams.WRAP_CONTENT)); 

antes de llamar measure(). ¿Eso arregla el NullPointerException?

+0

Tenía el mismo problema que el OP y al agregar setLayoutParams de esta publicación se corrigió la excepción del puntero nulo. ¡Gracias! –

+0

¡Gracias! ¡Me salvaste! –

Cuestiones relacionadas