最近做了个需求,要展示一张超长的图,内容是一些协议的东西,直接用文字太复杂了就想到了加载图片,现在把我的方法放出来。
首先导包,核心也是用他来制作:
(资料图)
implementation 'com.davemorrissey.labs:subsampling-scale-image-view:3.10.0'
XML代码
<com.davemorrissey.labs.subscaleview.SubsamplingScaleImageView android:id="@+id/iv" android:layout_width="match_parent" android:layout_height="match_parent"/>
Activity代码 部分,详细看注释,直接用就好
SubsamplingScaleImageView imageView;
/** * 加载大图,并设置宽度 和起始位置 */
imageView = (SubsamplingScaleImageView) findViewById(R.id.iv);
//用Bitmap 加载速度最快 直接加载R.drawable.agreement 要等好几秒
// 大图转一下加载会更好一点
Bitmap bitmap = BitmapFactory.decodeResource(this.getResources(),R.drawable.agreement);//影响初始加载宽度imageView.setMinimumScaleType(
SubsamplingScaleImageView.SCALE_TYPE_CENTER_CROP);//影响起始位置imageView.setImage(
ImageSource.cachedBitmap(bitmap),new ImageViewState(0, new PointF(0, 0), 0));