本项目参考了Android富文本开发_杨充-优快云博客_android 富文本,做了大量精简工作,实现一个最基本富文本编辑器,具有文字和图片混合编排的功能,图片能够自适应屏幕大小。
效果展示
图片自适应
图片自适应逻辑:因为手机屏幕可上下滑动,所以图片宽度受限制而长度不受限制。当图片宽度小于手机屏幕宽度时,无事发生。当图片宽度大于手机屏幕宽度时,需要将图片宽度缩小至屏幕宽度,并根据原比例调整图片长度。
上文虽然一直在说调整图片大小,但实际上比起调整Bitmap的大小,调整ImageView的大小更方便。调整ImageView的大小,可以避免图片周围出现无意义的空白,也不会导致图片质量下降。
获取手机屏幕大小的代码如下,outMetrics.widthPixels即为屏幕像素宽度,
DisplayMetrics outMetrics = new DisplayMetrics();
getWindowManager().getDefaultDisplay().getMetrics(outMetrics);
调整ImageView的代码如下 ,
int height = bitmap.getHeight();
int width = bitmap.getWidth();
if(width > screenWidth){
ViewGroup.LayoutParams params = imageLayout.getLayoutParams();
params.height = (int)((float)height * screenWidth / width);
imageLayout.setLayoutParams(params);
}
imageView.setImageBitmap(bitmap);