開始解说这篇博客之前,我想问一下,当布局相似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);

非常easy吧。在adapter中,实例化ImageView后,调用这几句代码,当然宽高比依据详细需求来说。

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

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

这样整个适配就完毕了,记录工作中的小成长。谢谢。

最新文章

  1. jquery mobile radio,checkbox button 样式设置
  2. PHP的学习--解析URL
  3. 【亲述】Uber容错设计与多机房容灾方案 - 高可用架构系列
  4. LoadRunner 12 发布,主推云
  5. 利用SOLR搭建企业搜索平台 之——solr的查询语法
  6. mysql数据库导入外键约束问题
  7. EF4.0和EF5.0增删改查写法区别
  8. redolog 大小的实验
  9. e+开发中的各种问题
  10. 个人封装的一个Camera类
  11. windows版的node.js简单示例
  12. <八>阅读<<大话设计模式>>该模型的外观
  13. 替换空格[by Python]
  14. bash: cannot create temp file for here-document: Read-only file system
  15. redis设置过期时间
  16. Spring boot 启动配置原理
  17. 跟着刚哥学Redis
  18. 纯CSS3实现打火机火焰动画
  19. Allow Zero Length 允许空字符串 ACCESS
  20. DVWA安装

热门文章

  1. mengento 数据库模型
  2. oracle 解除锁表sql
  3. 利用反射api查找一个类的具体信息
  4. NYOJ_94 cigarettes 递归VS迭代
  5. JMX学习笔记(一)-MBean
  6. C#创建PDF文档
  7. 微信小程序发送模板消息
  8. Laravel-事件简单使用
  9. batch normalization学习理解笔记
  10. 关于HTML与CSS与class