2011-03-24 26 views
8

RelativeLaout görünümünü bir Bitmap'e dönüştürmek istiyorum. Başka bir cevap ve farklı seçenekler denemeden başarılı oldum. Benim XML Profil tür geçerli:measure() dinamik düzenler ve textView ile düzgün çalışmıyor - Android

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

Her olanları önlemleri wrap_content var. Bundan sonra

 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;

:

 

//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);     

RelativeLayout ait TextView'un içeriği dinamiktir

, bu yüzden bilemediğime

i im bu şekilde şişirme, bakış birkaç bitmap'leri ihtiyaç olarak metnin genişliği veya yüksekliği. Özel durumun yanı sıra, ölçü işlevi üzerinde (0 değerinde) yeterli boyutta el ile ayarlamam, dinamik metnim tamamen görüntülenmiyor. Umarım bana yardım edebilirsin çünkü şu an, sıkışmışım. youuu ederiz

cevap

22

deneyin measure() çağırmadan önce

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

ekledi. Bu NullPointerException düzeltiyor mu?

+0

OP ile aynı sorunu vardı ve bu gönderiden setLayoutParams ekleyerek boş işaretçi özel durumu düzeltildi. Teşekkürler! –

+0

Teşekkürler, beni kurtardın! –