zoukankan      html  css  js  c++  java
  • Glide加载时等比例缩放图片至屏幕宽度(通过加载下来的图片动态设置)

    首先我们需要吧图片的控件修改为全屏尺寸

      <ImageView
                android:id="@+id/iv_thumb1"
                android:layout_width="match_parent"
                android:layout_height="match_parent"
                android:layout_gravity="center"
                android:src="@drawable/ic_tiktok_shu"
                android:visibility="visible" />

    然后就是代码设置宽高

    Glide.with(activity).load(StrUrl).asBitmap().into(new SimpleTarget<Bitmap>(Target.SIZE_ORIGINAL, Target.SIZE_ORIGINAL) {
                        @Override
                        public void onResourceReady(Bitmap resource, GlideAnimation<? super Bitmap> glideAnimation) {
                            int imageWidth = resource.getWidth();
                            int imageHeight = resource.getHeight();
                            int height = ScreenUtils.getScreenWidth() * imageHeight / imageWidth;
                            ViewGroup.LayoutParams para = imageView.getLayoutParams();
                            para.height = height;
                            para.width = ScreenUtils.getScreenWidth();//屏幕的宽度,没有工具类自己从网上搜
                            imageView.setImageBitmap(resource);
                        }
                    });

    这里说下如果需要可以设置图片裁剪的方式

    .centerCrop()//设置图片加载居中裁剪

    原理:先用Glide按图片原始大小加载一次图片,再获取加载的图片宽度和高度及屏幕宽度,计算缩放后的高度再赋值给对应的imageview,最后再把加载得到的图片设置到赋值后的imageview中以完成等比例缩放

    by leileitua

  • 相关阅读:
    js 中 undefined 和null 的区别
    【Gym103107E/黑龙江省赛16thE】Elastic Search(Trie树性质+ac自动机性质)
    不等概率抽卡的毕业期望次数
    博客园无法用IE进行登录
    Web项目开发小结
    各位看官,自己觉着喜欢的存到手机里面
    MVC控制器执行重定向
    吐了个槽o.o
    浏览器设置不缓存的方法
    关于A+B
  • 原文地址:https://www.cnblogs.com/widgetbox/p/13405241.html
Copyright © 2011-2022 走看看