您的位置:首页 > 移动开发 > Android开发

Android学习之GridView图片布局适配经验

2016-03-29 23:15 375 查看
开始讲解这篇博客之前,我想问一下,当布局类似GridView这种多列布局时,我们该怎么布局,才能更好的去适配呢?

扣张图来展示一下



例如这种需求,三张图片均分屏幕

实现方法:

1.切图固定,例如是1080x1920。

在固定分辨率上很好计算,也很好适配,但有个问题,换了不同的分辨率,就需要做不同的适配,针对不同的分辨率就行计算,这样也能实现,但是太麻烦了,因为各种分辨率的手机层出不穷,适配不止啊。

2.就是本篇博客记叙的重点实现方式。

不用通过固定的大小来设置图片大小,那么怎么做呢?上面已经说过,这种需求是将屏幕三分,那么获取屏幕宽度,在动态设置图片宽度为0.3屏幕宽度就能很好的解决这个适配的问题,那么宽度解决了,高度怎么解决呢?

一般来说,是根据宽高比来确定的,要么是1:1,要么是16:9等,宽高比可以让设计来确定,这样就可以根据获得的宽度来确定高度,哈哈,这样不就是完全解决适配问题了么。

说了这么多,也该上代码了

//获取屏幕宽度
int width = ((Activity) ivImage2.getContext()).getWindowManager().getDefaultDisplay().getWidth();
ViewGroup.LayoutParams params = ivImage2.getLayoutParams();
//设置图片的相对于屏幕的宽高比
params.width = width/2;
params.height = width/3 ;
ivImage2.setLayoutParams(params);


很简单吧,在adapter中,实例化ImageView后,调用这几句代码,当然宽高比根据具体需求来说。

另外,xml中ImageView设置宽高都应该为

android:layout_width="wrap_content"
android:layout_height="wrap_content"


这样整个适配就完成了,记录工作中的小成长,谢谢。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: