gpt4 book ai didi

java - Android HTML.ImageGetter 图片调整大小

转载 作者:行者123 更新时间:2023-11-29 05:39:21 25 4
gpt4 key购买 nike

我有一个加载 HTML 内容的 TextView(它也有 img 标签)。我的问题是有些图片太大,导致应用程序崩溃。有什么方法可以使所有图像的大小相同吗?

我的代码示例:

            String EntireStire = "<b>" + mItem.title + " </b> <br> <img src='"
+ mItem.photo + "' > " + " <br><small>" + mItem.description
+ " <br> " + mItem.content + "</small>";

noteView.setText(Html.fromHtml(EntireStire, new MyImageGetter(),
null));
noteView.setMovementMethod(LinkMovementMethod.getInstance());
}

return rootView;
}

private class MyImageGetter implements Html.ImageGetter {

@Override
public Drawable getDrawable(String arg0) {
Bitmap bitmap;
try {
bitmap = BitmapFactory.decodeStream(
(InputStream) new URL(arg0).getContent(), null, null);
@SuppressWarnings("deprecation")
Drawable drawable = new BitmapDrawable(bitmap);
drawable.setBounds(0, 0, drawable.getIntrinsicWidth(),
drawable.getIntrinsicHeight());
return drawable;
} catch (Exception e) {
Drawable d = getResources().getDrawable(R.drawable.ic_launcher);
d.setBounds(0, 0, d.getIntrinsicWidth(), d.getIntrinsicHeight());
return d;
}
}
}

最佳答案

改用这段代码,它会调整你的图片大小

private class MyImageGetter implements Html.ImageGetter {
private final Context context;

public MyImageGetter (Context context){
this.context = context;
}

@Override
public Drawable getDrawable(String source) {
int path = context.getResources().getIdentifier(source, "drawable",
BuildConfig.APPLICATION_ID);
Drawable drawable = context.getResources().getDrawable(path);
Display display = getWindowManager().getDefaultDisplay();
Point size = new Point();
display.getSize(size);
int widthD = size.x;
int heightD = size.y;
drawable.setBounds(0, 0, widthD, (widthD* drawable.getIntrinsicHeight()/ drawable.getIntrinsicWidth()));
return drawable;

}
}

关于java - Android HTML.ImageGetter 图片调整大小,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18220915/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com