自定义的屏幕适配方法

在做项目时,一个app往往都需要进行‘活’的显示,而不是固定的宽高,比如在用gridview去显示图片时:

当然,列数是固定的,但是我们需要的是图片的宽高比是不会变得,图片的大小还是得做活的。所以就有如下配置

假定图片的宽高比为 16:9 则 :

 1  item_Relatlayout = (RelativeLayout)itemView.findViewById(R.id.item_Relatlayout);
 2             imageView  = (ImageView)itemView.findViewById(R.id.imageView);
 3             playBtn = (TextView)itemView.findViewById(R.id.play_tub);
 4             del_box =(CheckBox) itemView.findViewById(R.id.del_ckBox);
 5             int pxWidth =  Util.getScreanWith(context);
 6             int pxMargin = Util.dp2px(context,0.1f);
 7             GridLayoutManager.LayoutParams layoutParams = (GridLayoutManager.LayoutParams)item_Relatlayout.getLayoutParams();
 8             layoutParams.setMargins(pxMargin,pxMargin,pxMargin,pxMargin);
 9             item_Relatlayout.setLayoutParams(layoutParams);
10             //总宽度减去所有间隙的值
11             int t =  pxWidth - pxMargin*6;
12             //再算的图片宽度
13             RelativeLayout.LayoutParams params = (RelativeLayout.LayoutParams)imageView.getLayoutParams();
14             params.width = t/3;
15             params.height = (int)((t/3) * (0.5));//计算了宽高比
16             imageView.setLayoutParams(params);

只有这样,图片的大小才会跟着不同的屏幕而进行变化,但是尺寸比例还是不变的。。。

时间: 2024-08-14 08:29:57

自定义的屏幕适配方法的相关文章

多种屏幕尺寸下屏幕适配方法

自从iPhone 6及iPhone 6 Plus出现之后,iPhone需要适配的屏幕尺寸就达到了四种之多,屏幕适配就成为了开发者们最需考虑的问题. iPhone4.iPhone4s,分辨率960 * 640 ,长宽比1.5 iPhone5.iPhone5s,分辨率1136 * 640 ,长宽比1.775 iPhone6,分辨率1334 * 750 ,长宽比1.778 iPhone6+,分辨率1920 * 1080,长宽比1.777 由此可见,只有iPhone4和iPhone4s和iPhone5及

android手机屏幕适配方法

1.你需要在AndroidManifest.xml文件的元素如下添加子元素    android:normalScreens="true" android:anyDensity="true"    android:smallScreens="true">    名如其意,以上是为我们的屏幕设置多分辨率支持(更准确的说是适配大.中.小三种密度).android:anyDensity="true" ,这一句对整个的屏幕都起着

android屏幕适配方法

android中图片适配是一件很棘手的事情,本篇文章详细的介绍屏幕显示的原理,为什么会资源文件中会存在 drawable-ldpi.drawable-mdpi.drawable-hdpi.drawable-xhdpi等文件夹,为什么要使用dp作为单位等等. 首先从这两张图片的显示效果开始说起 这是一张200x200的图片在不同的手机上的显示效果.很明显第二张图片看上去要比第一张占用的空间小很多?这是为什么呢? 这里我们引入 ppi (pixel per inch)名词,翻译过来就是每英寸的距离像

转 android屏幕适配方法

android中图片适配是一件很棘手的事情,本篇文章详细的介绍屏幕显示的原理,为什么会资源文件中会存在 drawable-ldpi.drawable-mdpi.drawable-hdpi.drawable-xhdpi等文件夹,为什么要使用dp作为单位等等. 首先从这两张图片的显示效果开始说起 这是一张200x200的图片在不同的手机上的显示效果.很明显第二张图片看上去要比第一张占用的空间小很多?这是为什么呢? 这里我们引入 ppi (pixel per inch)名词,翻译过来就是每英寸的距离像

关于安卓3.0以上的系统屏幕适配问题的一些心得

首先,关于dp,px,dpi 等这些老生常谈的单位就不做详细的介绍了.这些个单位的介绍百度一抓一大把. 再讲解我自己对安卓3.0以上屏幕适配问题的理解以前,先介绍一下谷歌对安卓开发屏幕适配提的一些建议 Using new size qualifiers The different resource configurations that you can specify based on the space available for your layout are summarized in t

腾讯优测| 让Android屏幕适配开发更简单-Google百分比布

文/腾讯优测工程师  吴宇焕 腾讯优测优社区干货精选~ 相信开发同学都被安卓设备碎片化的问题折磨过,市面上安卓手机的主流屏幕尺寸种类繁多,给适配造成很大的困难.就算搞定了屏幕尺寸问题,各种分辨率又让人眼花缭乱,当你走出了前面所说的两大坑,很有可能又掉进"屏幕长宽比不同"的陷阱... 说多了都是泪,我就想做一名安静的开发怎么这么难? 经历过无数次跌跌撞撞,我总结出一些经验,想与大家一起分享.已知的屏幕适配方法:(1)按像素比:y/开发时用的屏幕像素=x/用户设备像素(2)按长度:用dip

登录界面、AutoUtils 屏幕适配、自定义Edittext(显示密码可见和一键清空)和 TextInputLayout的使用。

登录界面: AutoUtils自动屏幕适配: AutoUtils屏幕适配使用的方法 : 1.将AutoUtils类复制到要适配的项目中: 2.在程序的入口(清单文件filter):super.onCreate(savedInstanceState);//屏幕适配,这里是以720*1280分辨率为基准的适配AutoUtils.setSize(this, false, 720, 1280); * 这里我们UI是以1920*1280分辨率做图的,并且是横屏显示:AutoUtils.setSize(th

iOS里面的屏幕适配(两种方法)

第一种方法:进行等比缩放 适用于只有单个或者很少的页面需要适配的时候 第二种方法:用别人已经封装的类,进行屏幕的适配 适用于多个页面都需要进行屏幕适配 这是在ViewController.m里面的代码

iOS设计中不同屏幕适配的方法-登陆界面

在iOS的手机界面设计中,由于不同手机类型的手机的尺寸不同,那么在设计手机界面时就得对屏幕进行适配,这里就以登陆界面的设计为例简单说明下 实现屏幕适配的方法:(屏幕自动适配缩放) 效果: 下面就看下代码实现的过程: 1.在代理中实现的代码: AppDelegate.h // 登陆界面设计 #import <UIKit/UIKit.h> #define ScreenHeight [[UIScreen mainScreen]bounds].size.height//屏幕高度 #define Scr