Adroid 将设置好的spannable画到图片上

因项目需求,将文本转成图片,发送到别的设备。用EditText+Spannable做了一个简单的文本编辑器,可以设置字体,字体大小,加粗,斜体,文本前景色、背景色等等。但是发现,编辑器做好后,不知道怎么将设置好样式的内容转成图片,纠结了两天了。

搞了几天,最后还是同事帮忙找到了解决方法。使用DynamicLayout,可以直接将CharSequence中的样式一起画出来。

 Bitmap bmp = Bitmap.createBitmap(areaWidth, areaHeight, Bitmap.Config.ARGB_8888);
Canvas canvasTemp = new Canvas(bmp);
canvasTemp.drawColor(Color.WHITE);
textPaint.setTypeface(font);
DynamicLayout dynamicLayout=new DynamicLayout(content,textPaint,areaWidth, Layout.Alignment.ALIGN_NORMAL,1.0f,1.0f,false);
dynamicLayout.draw(canvasTemp);

那你就仿照EditText的onDraw,看看是怎么绘制的,spannable是通过adapter去显示适配器中视图的