美文网首页我爱编程
网络加载得图片适应不同android得手机,解决方案

网络加载得图片适应不同android得手机,解决方案

作者: 南娇 | 来源:发表于2018-06-21 16:44 被阅读201次

冰冻三尺非一日之寒,所有的创新都是在大量的知识积累的基础上出来的,所以只有不断的积累知识,才能有更好的创新。第一次写,写的不好大家多多包涵。我也是站在巨人的肩膀上

QQ截图20180621163034.png

今天我遇到得问题是这三张图片是网络加载得,开始我写得高度是固定得,但是不同得手机显示有问题(问题就是屏幕宽得android手机图片变扁了)。仔细想了一下原因,就是屏幕变宽,布局拉伸造成了图片变扁了。

解决办法:1.自己计算布局得比例。我ui布局比例是宽是340高是139,计算了一下大概2.4左右 ,然后左右的边距是10dp

1.首先获取屏幕得宽度

    Resources resources = this.getResources();
    DisplayMetrics dm = resources.getDisplayMetrics();
    float density = dm.density;(屏幕得密度)
    int widht=dm.widthPixels;(屏幕得宽度,这里是像素值)
    //计算布局得宽度 20*density--->就是两边得间距转换成像素
    int mLayoutHeight=(int) (widht-20*density);
    //布局得高度
    int mLayoutHeight = (int) (screenWidth / 2.4);
    //然后手动设置控件得宽高
    LinearLayout.LayoutParams linearParams = new LinearLayout.LayoutParams(screenWidth, mHeight);
    //设置布局左右上得间距
    linearParams.leftMargin = dip2px(getContext(), 10);
    linearParams.rightMargin = dip2px(getContext(), 10);
    linearParams.topMargin = dip2px(getContext(), 12);
    event_linear.setLayoutParams(linearParams);

dp转换成像素得方法

public static int dip2px(Context context, float dpValue) {
    final float scale = context.getResources().getDisplayMetrics().density;
    return (int) (dpValue * scale + 0.5f);
}

这样就完成了,可以解决任何屏幕得宽度来显示图片了,绝对不变形,如果在出现变形得话,那说明美工切得图片有问题

相关文章

  • 网络加载得图片适应不同android得手机,解决方案

    冰冻三尺非一日之寒,所有的创新都是在大量的知识积累的基础上出来的,所以只有不断的积累知识,才能有更好的创新。第一次...

  • Picasso源码浅析

    几年前开始接触Android的时候,比较麻烦的就是图片加载和显示,虽然说本身没什么难度,但是你得关心网络,缓存,流...

  • Android开源框架Glide的使用-示例应用

    Android开源框架Glide的使用-示例应用 加载网络图片 加载本地图片-简易图库 工程源码 加载网络图片 引...

  • Glide不显示图片

    glide加载网络图片,在Android9.0以下的手机都是显示正常的 在9.0以上发现只显示glide默认的图片...

  • Android加载大图和Lrucache 避免oom

    高效加载大图片 (转自)Android高效加载大图、多图解决方案,有效避免程序OOM BitmapFactory这...

  • 搭建自己Android开发框架

    摘要 Android优秀的开发框架有很多,很多功能都有成熟的解决方案,比如网络请求、依赖注入、图片加载、数据库等都...

  • 搭建自己的Android开发框架

    Android优秀的开发框架有很多,很多功能都有成熟的解决方案,比如网络请求、依赖注入、图片加载、数据库等都有很多...

  • Android 最佳实践

    ANDROID开源项目推荐之「图片加载到底哪家强」Picasso,Glide,Fresco对比分析网络加载图片对比...

  • android--------Universal-Image-L

    本博客包含包含Android-Universal-Image-Loader 网络图片加载框架实现图片加载和结合un...

  • Android中加载GIF图片的实现

    最近遇到Android中加载GIF图片,而Android目前还不支持GIF图片的加载。查询后发现很多第三方网络请求...

网友评论

    本文标题:网络加载得图片适应不同android得手机,解决方案

    本文链接:https://www.haomeiwen.com/subject/fmccyftx.html