Android应用程序当中GridView显示不同大小图片时Item挤出问题解决办法
2014-04-03 20:32
405 查看
1、问题说明
在开发GridView的时候有这样的一个需求,即从网络上下载相应的图片然后显示在GridView当中,显示效果如下:以上的图片,不同的图片是对齐的,没有图片挤出,太大或者太小的问题,做出这种效果的前提是,图片大小是一样的。但是,在实际情况下,图片的大小多数情况下是不一致的,就会造成如下的效果,
图片大小不同,导致大的图片将下面的文字挤出GridView中的Item,解决方案很简单,只要将显示在GridView中的Item的ImageView重写一下,控制一下大小即可。这种方式,同本博客ScrollView嵌套GridView、ListView的解决办法类似。
2、复写ImageView
import android.content.Context; import android.util.AttributeSet; import android.widget.ImageView; public class SquareImageView extends ImageView { public SquareImageView(Context context) { super(context); } public SquareImageView(Context context, AttributeSet attrs) { super(context, attrs); } public SquareImageView(Context context, AttributeSet attrs, int defStyle) { super(context, attrs, defStyle); } @Override protected void onMeasure(int widthMeasureSpec, int heightMeasureSpec) { super.onMeasure(widthMeasureSpec, heightMeasureSpec); setMeasuredDimension(getMeasuredWidth(), getMeasuredWidth()); //Snap to width } }
将现有的SquareImageView代替原来的ImageView,
<com.yang.widget.SquareImageView android:id="@id/function_image" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_gravity="center_horizontal" android:layout_marginTop="4.0dip" />
3、修改后效果
现在图片挤出的效果不见了,GridView当中每个Item大小都是一致的。
相关文章推荐
- Android应用程序当中GridView显示不同大小图片时Item挤出问题解决办法
- Android应用程序当中GridView显示不同大小图片时Item挤出问题解决办法
- 解决Android当中GridView的Item子控件中有ImageView图片大小不一致问题,动态设置ImageView控件大小
- 解决Android当中GridView的Item子控件中有ImageView图片大小不一致问题
- Android ListView,GridView,RecyclerView图片加载错位闪动问题解决办法
- android的GridView的第一个item(图片)出现显示不正常(多出固定区域一部分蓝色边框)。解决方法
- Android GridView 一行显示数据(包括图片和文本),解决的办法是计算数据占该行的宽度是多少
- android ListView常见问题解决方法(滚动背景变黑,去除滑动时阴影,拖动时Item图片不显示)
- Android使用UIL加载圆角图片不显示的问题及解决办法
- android gridview的item放大问题,setOnItemSelectedListener不执行的解决办法。
- 关于Android加载HTML页面中的图片显示问题的解决办法
- android gridview的item放大问题,setOnItemSelectedListener不执行的解决办法。
- Android GridView 一行显示数据(包括图片和文本),解决的办法是计算数据占该行的宽度是多少
- ListView或GridView嵌入ScrollView中时,只显示一个Item并且默认将此Item置顶的问题解决办法
- UItabBarItem 添加图片不显示的问题解决办法
- GridView 自定义Item大小的时候第一个Item显示不正常的解决办法
- Android GridView 一行显示数据(包括图片和文本),解决的办法是计算数据占该行的宽度是多少
- Android GridView之添加分隔线,动态设置高度,实现高度自适应,并解决第一个item不显示的问题
- android ScrollView中嵌套GridView,ListView只显示一行的解决办法
- Android中 在显示ImageView时图片上面和下面都出现一段空白区间的解决办法