上一篇博文解决了图片溢出的问题,现在又发现当图片小于TextView宽度的时候是靠左的,并没有居中显示。这个问题困扰了好久,在网上也搜索不到这种需求的信息。
探索
TextView 显示Html内容的时候,图片加载是在ImageGetter中的。getDrawable方法中是获取drawable对象 还没绘制上去,所以肯定无法在这里调整位置。那么就得去寻找绘制的方法:BitmapDrawable这个类了。
这个类中我们重写了draw方法。
@Override
public void draw(Canvas canvas) {
super.draw(canvas);
if (bitmap != null) {
canvas.drawBitmap(bitmap, 0, 0, getPaint());
}
}
有一个canvas画布。有绘制的对象了那么调整绘制的位置也是让图片居中的一种方式。
所以在这里我使用canvas的宽度,它的宽度是等于TextView 的宽度的,具体方法如下&#x