这个图片大小的显示,如果直接取图片本身的大小,那么图片就会有大有小,界面就会显的特别的难看,所以对图片大小的处理还是很有必要的
由于本人处理的图片中只有两种类型,一种是非常小的头像,一种是比较的大的图片,这样我们就可以根据图片大小来进行调整,当图片的高度小与一定的值时,则把高宽按一定的比例缩放成一定的值,反之大图片则缩放成适应全屏宽度,这样图片则会显示的正常些。
方法比较牵强,不过蛮用了
代码修改如下:
ImageGetter imgGetter = new Html.ImageGetter() {
public Drawable getDrawable(String source) {
Drawable drawable = null;
URL url;
try {
url = new URL(source);
drawable = Drawable.createFromStream(url.openStream(), ""); //获取网路图片
} catch (Exception e) {
return null;
}
//图片高宽处理
int height = drawable.getIntrinsicHeight();
int width = drawable.getIntrinsicWidth();
if(width < 100){
drawable.setBounds(0, 0, 40, 40);
}else{
double scale = (WelcomeActivity.windowWidth-40)/width;
width = WelcomeActivity.windowWidth-40;
height = (int)scale*height;
drawable.setBounds(0, 0, width, height);
}
return drawable;
}
};
不过修改后的图片产生了一定的变形,(WelcomeActivity.windowWidth-40)/width应该是这句上的精度损失造成的,应该是要先将类型进行转变后再进行运算。留待你们自己测试了