Android RecyclerView 列表加载图片宽高适配

Posted 早起的年轻人

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Android RecyclerView 列表加载图片宽高适配相关的知识,希望对你有一定的参考价值。

图片的宽度为手机屏幕宽度,高度自适应

adapter item布局

<ImageView
     android:layout_width="match_parent"
     android:layout_height="wrap_content"
     android:scaleType="fitXY"
     android:adjustViewBounds="true"/>

Android里ImageView的ScaleType属性,这个属性决定了一张图片如何显示在ImageView上,常用的值有以下几个:CENTER,CENTER_CROP,CENTER_INSIDE,FIT_CENTER,FIT_END,FIT_START,FIT_XY,MATRIX。

这里使用的是FIT_XY,就是图片会填充 ImageView 的宽高,会出现拉伸与压缩现象,在这里设置 高度为自适应,属性 adjustViewBounds 为 true ,则会形成 ImageView 与 图片的宽高一至的样式效果


在Java 代码中动态设置也是一种方法

  //获取屏幕像素对象实例
	DisplayMetrics displayMetrics = context.getResources().getDisplayMetrics();
	
	 //宽度
	int widthPixels = displayMetrics.widthPixels;
	
	ViewGroup.LayoutParams lp = ivImg.getLayoutParams();
	lp.height = ViewGroup.LayoutParams.WRAP_CONTENT;
	lp.width = widthPixels;
	ivImg.setLayoutParams(lp);

	//这里设置图片最大的高度与宽度适配
	ivImg.setMaxWidth(widthPixels);
	ivImg.setMaxHeight(widthPixels * 2); 

以上是关于Android RecyclerView 列表加载图片宽高适配的主要内容,如果未能解决你的问题,请参考以下文章

基于Android官方AsyncListUtil优化改进RecyclerView分页加载机制

在 android 上加载 HTML 内容列表的最佳方式可能是啥?

Android Paging 3 在 invalidate() 上清除 recyclerview

recyclerview加载更多后怎么从头加载列表

基于Android官方Paging Library的RecyclerView分页加载框架

Android RecyclerView 瀑布流滑动到最后自动加载更多