Позвольте многострочному тексту HTML, как этот: <div style="color: red;"><b>foo</b></div>
.Он может быть многострочным, потому что хотя бы одно из этих условий выполняется: а) текст очень длинный или б) имеется хотя бы одно <br />
.
Цель состоит в том, чтобы нарисовать этот текст на холсте,который построен с использованием Bitmap
.
Минимальный код, который я написал, следующий (android.graphics.Canvas
, android.graphics.drawable.BitmapDrawable
...):
private BitmapDrawable addTextOnImage(BitmapDrawable bitmapDrawable) {
Bitmap bitmap = ...;
String caption = rich_editor_caption.getHtml();
StaticLayout mTextLayout_caption = StaticLayout.Builder.obtain(caption, 0, caption.length(), mTextPaint, bitmap.getWidth()).build();
Bitmap final_bitmap = Bitmap.createBitmap(bitmap.getWidth(), mTextLayout_caption.getHeight() + bitmap.getHeight(), Bitmap.Config.ARGB_8888);
Canvas canvas = new Canvas(final_bitmap);
mTextLayout_caption.draw(canvas);
return new BitmapDrawable(getActivity().getResources(), final_bitmap);
}
Если переменная caption
содержит HTML-код, последний не будет интерпретироваться.Другими словами: теги будут фактически отображаться в полученном изображении.
Можно ли заставить приложение Android интерпретировать этот код?