本项目参考了Android富文本开发_杨充-CSDN博客_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);
代码
/lihzh233/RichEditor