Я хочу преобразовать представление RelativeLaout в Bitmap. Я безуспешно пробовал другие ответы и разные варианты. Мое представление XML выглядит примерно так:
----RelativeLayout -------ImageView -------TextView
У всех есть меры wrap_content.
Поскольку мне нужно несколько растровых изображений представления, я увеличиваю его таким образом:
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);
Содержимое textView RelativeLayout динамический, поэтому я не могу знать ширину или высоту текста. Помимо исключения, если я вручную установил достаточный размер для функции измерения (вместо 0), мой динамический текст не отображается полностью. Я надеюсь, что ты сможешь мне помочь, потому что сейчас я застрял. Спасибо uu