android 加载大图片适配问题解决方案
来源:互联网 发布:ipad 电容笔 知乎 编辑:程序博客网 时间:2024/06/05 00:20
我们在加载小图片可能你写死了宽和高也许看不出来图片变形的问题,但是你要加载大的图片没做好适配是很容易看出图片变形的,比如轮播图就是一个,看下我的例子 这是没做适配时加载的
我这个imageview的宽度就是设置为fill_parent 高度为wrap_content ,这些图片来自豆瓣,明显看出来第一张图片和第二张图片明显高度不一样而且图片变形了,那么怎么解决呢?其实也简单,我们知道图片的宽度就是屏幕的宽度,所以只要后台传过来的图片是按照一定的比例就可以在每个屏幕上算出他的高度,那么我们就自定义一个imageview,
package com.example.imageload.view;
import android.content.Context;
import android.util.AttributeSet;
import android.view.WindowManager;
import android.widget.ImageView;
public class CustomLoadImageView extends ImageView{
public CustomLoadImageView(Context context, AttributeSet attrs, int defStyle) {
super(context, attrs, defStyle);
}
public CustomLoadImageView(Context context, AttributeSet attrs) {
super(context, attrs);
}
public CustomLoadImageView(Context context) {
super(context);
}
@Override
protected void onMeasure(int widthMeasureSpec, int heightMeasureSpec) {
WindowManager wm = (WindowManager) getContext().getSystemService(Context.WINDOW_SERVICE);
int width = wm.getDefaultDisplay().getWidth();
int makeHeight = (int) (width/0.67) ;//假如服务器传递过来的图片比例是 宽/高 = 0.67
setMeasuredDimension(width, makeHeight);
}
}
我这个是按照第一张图片的比例来的 第一张图片比例 宽/高=99/149=0.67,现在来看下效果:
到红色的横线那里是第一张图片,现在是不是看起来没怎么变形,你可以去拿个图片按照我的说法去试试,在我项目中加载大图片都是这样适配的,当然前提条件是后台要告诉你这些图片的大概比例,由于图片加载都是每个项目中必会的,在这里就不贴代码了,关键是哪个自定义的imageview,看懂了就懂了,在此记录和分享下!
- android 加载大图片适配问题解决方案
- android大图加载问题解决的心路历程
- Android高效加载大图、多图解决方案
- Android高效加载大图、多图解决方案
- Android高效加载大图、多图解决方案(LruCache)
- Android高效加载大图、多图解决方案
- Android 高清加载长图或大图方案
- Android高效加载大图、多图解决方案
- 解决MWPhotoBrowser中的SDWebImage加载大图导致的内存警告问题解决方案参考
- Android大图加载方法
- android 高效加载大图
- Android 加载大图片
- android 加载大图片
- android加载大图片
- android高效加载大图
- Android-加载大图片
- android加载大图片
- Android高效加载大图
- 第7讲项目1——正差值
- hdu 1551 Cable master
- MVC中单独配置Log4Net
- 共模电感
- 数据结构实验之排序五:归并求逆序数
- android 加载大图片适配问题解决方案
- Java 集合类
- 第7讲项目2——三数最大值
- glob模式
- 118. Pascal's Triangle && 119. Pascal's Triangle II
- 算法_3 : 组合数学:排列组合
- 平衡二叉树
- 数据结构实验之排序六:希尔排序
- 最简单的python命令解析器