Android Glide centerCrop/fitCenter与ImageView的scaleType相互作用,Kotlin
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical">
<ImageView
android:id="@+id/image1"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:src="@mipmap/ic_launcher" />
<ImageView
android:id="@+id/image2"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:src="@mipmap/ic_launcher" />
<ImageView
android:id="@+id/image3"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:scaleType="centerCrop"
android:src="@mipmap/ic_launcher" />
<ImageView
android:id="@+id/image4"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:scaleType="fitCenter"
android:src="@mipmap/ic_launcher" />
</LinearLayout>
val resId = R.mipmap.p4m
val size = 500
val image1 = findViewById<ImageView>(R.id.image1)
val image2 = findViewById<ImageView>(R.id.image2)
val image3 = findViewById<ImageView>(R.id.image3)
val image4 = findViewById<ImageView>(R.id.image4)
GlideApp.with(this)
.load(resId)
.override(size)
.centerCrop()
.into(image1)
GlideApp.with(this)
.load(resId)
.override(size)
.fitCenter()
.into(image2)
GlideApp.with(this)
.load(resId)
.override(size)
.fitCenter()
.into(image3)
GlideApp.with(this)
.load(resId)
.override(size)
.centerCrop()
.into(image4)
(一)image1,直接就是Glide设置的centerCrop(),因为ImageView里面的scaleType没有。
(二)image2,直接就是Glide配置的fitCenter(),因为ImageView里面的scaleType没有。
(三)image3,Glide配置了fitCenter(),Glide先按照fitCenter()解码装配Bitmap,然后丢给ImageView显示时候,ImageView里面android:scaleType="centerCrop",此时ImageView又做了一次centerCrop变换,最终展示的是Gldie的fitCenter -> ImageView的centerCrop样式,注意,ImageView里面的centerCrop是基于前一步Glide的fitCenter裁出来的Bitmap。
(四)image4,Glide配置了fitCenter(),Glide先按照fitCenter()解码装配Bitmap,然后丢给ImageView显示,第一步Glide按照fitCenter裁剪出来的Bitmap再按照ImageViewde配置的android:scaleType="fitCenter"显示,因为两次都是fitCenter,所以相当于image1的样式。
Android描边外框stroke边线、rotate旋转、circle圆形图的简洁通用方案,基于Glide与ShapeableImageView,Kotlin_安卓icon描边-CSDN博客文章浏览阅读2k次。Android RoundedBitmapDrawable:Android官方的圆角图形图象实现方案RoundedBitmapDrawable是Android在support v4的扩展包中新增的实现圆角图形的关键类,借助RoundedBitmapDrawable的帮助,可以轻松的以Android标准方式实现圆角图形图象。现在结合他人的代码加以修改,给出一个以原始图形中心为原点,修剪图片为头像的工具类,此类可以直接在布局文件中加载使用,比。所实现的在Kotlin动态代码中绘制的描边效果。_安卓icon描边https://blog.csdn.net/zhangphil/article/details/134314380
Glide transform CircleCrop()圆图,Kotlin-CSDN博客文章浏览阅读678次。文章浏览阅读1.2w次。引入: implementation 'com.github.bumptech.glide:glide:4.9.0' annotationProcessor 'com.github.bumptech.glide:compiler:4.9.0'Android标准Glide加载圆形图和圆角矩形图_android glide加载圆角-CSDN博客。Glide transform CircleCrop()圆图,Kotlin。https://blog.csdn.net/zhangphil/article/details/134147774Android Glide transform旋转rotate圆图CircleCrop,Kotlin_android glide旋转-CSDN博客文章浏览阅读662次。引入: implementation 'com.github.bumptech.glide:glide:4.9.0' annotationProcessor 'com.github.bumptech.glide:compiler:4.9.0'Android标准Glide加载圆形图和圆角矩形图_android glide加载圆角-CSDN博客。Glide transform CircleCrop()圆图,Kotlin。Glide transform CircleCrop()圆图,Kotlin-CSDN博客。_android glide旋转https://blog.csdn.net/zhangphil/article/details/134149022Android Glide加载transform CenterCrop, CircleCrop ShapeableImageView圆形图并描边,Kotlin_android glide 加载圆形-CSDN博客文章浏览阅读684次。Android RoundedBitmapDrawable:Android官方的圆角图形图象实现方案RoundedBitmapDrawable是Android在support v4的扩展包中新增的实现圆角图形的关键类,借助RoundedBitmapDrawable的帮助,可以轻松的以Android标准方式实现圆角图形图象。现在结合他人的代码加以修改,给出一个以原始图形中心为原点,修剪图片为头像的工具类,此类可以直接在布局文件中加载使用,比。所实现的在Kotlin动态代码中绘制的描边效果。_android glide 加载圆形https://blog.csdn.net/zhangphil/article/details/134297059