需求: 如题 富文本展示图文混合, 客户要求点击单个图可放大缩小查看
第三方框架:
富文本展示: html-text 地址: https://github.com/wangchenyan/html-text
图片查看: pictureviewer 地址: https://github.com/SuperKotlin/PictureViewer
上代码:
-
富文本的展示
/** * 加载富文本 * * @param taskVariablesLocal 要加载的富文本数据 */ private void fromText(String taskVariablesLocal) { HtmlText.from(taskVariablesLocal) .setImageLoader(new HtmlImageLoader() { @Override public void loadImage(String url, final Callback callback) { Glide.with(FeedbackInfoActivity.this) .load(url) .asBitmap() .into(new SimpleTarget<Bitmap>() { @Override public void onResourceReady(Bitmap resource, GlideAnimation<? super Bitmap> glideAnimation) { callback.onLoadComplete(resource); } @Override public void onLoadFailed(Exception e, Drawable errorDrawable) { callback.onLoadFailed(); } }); } @Override public Drawable getDefaultDrawable() { return ContextCompat.getDrawable(FeedbackInfoActivity.this, R.drawable.image_placeholder_loading); } @Override public Drawable getErrorDrawable() { return ContextCompat.getDrawable(FeedbackInfoActivity.this, R.drawable.image_placeholder_fail); } @Override public int getMaxWidth() { return getTextWidth(); } @Override public boolean fitWidth() { return false; } }) .setOnTagClickListener(new OnTagClickListener() { @Override // 图片的点击事件 public void onImageClick(Context context, List<String> imageUrlList, int position) { // 显示图片 jupActivity(position, imageUrlList); } @Override // 超链接点击事件 public void onLinkClick(Context context, String url) { // link click } }) // tvInfo 展示富文本的textview控件 .into(tvInfo);
}
-
图片的展示
private void jupActivity(int position, List<String> list) { // 图片查看器 PictureConfig picture = new PictureConfig.Builder() .setListData((ArrayList<String>) list) .setPosition(position) .setIsShowNumber(true) .setDownloadPath("PIC") .needDownload(true)// 是否支持图下载 .setPlacrHolder(R.drawable.icon_pic_placeholder)// 占位符 .build(); ImagePagerActivity.startActivity(this, picture); }
Ps: 搞定, 多谢大神们的开源 !