首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

Android屏幕适配方案分析

可以看出单位为dp的时候三个设备之间的差距就不是很大了,但是这样肯定还是不能满足我们对屏幕适配的要求的。下面来看看Android常见的三种比较成熟的屏幕适配方案,并分析这几种方案的优劣。...屏幕适配方案 1.1 宽高限定符适配 设定一个基准的分辨率,也就是设计图对应的分辨率,其他分辨率都根据这个基准分辨率来计算,在不同的尺寸文件夹内部,根据该尺寸编写对应的dimens文件。...可以把 smallestWidth 限定符屏幕适配方案 当成这种方案的升级版,smallestWidth 限定符屏幕适配方案 只是把 dimens.xml 文件中的值从 px 换成了 dp,原理和使用方式都是没变的...还是没有办法覆盖所有的机型分辨率,部分机型可能适配效果还是不佳 不能以高度为基准进行适配 生成很多文件,增大APP体积1~2M 1.3 今日头条适配方案 今日头条屏幕适配方案的核心原理在于,根据以下公式算出...-SmallestWidth 限定符适配方案 Android 屏幕适配终结者 Android 目前最稳定和高效的UI适配方案 广而告之 本文发布于薄荷前端周刊,欢迎Watch & Star ★,转载请注明出处

1.1K10

提示Android屏幕适配方案分析

可以看出单位为dp的时候三个设备之间的差距就不是很大了,但是这样肯定还是不能满足我们对屏幕适配的要求的。下面来看看Android常见的三种比较成熟的屏幕适配方案,并分析这几种方案的优劣。...屏幕适配方案 1.1 宽高限定符适配 ? 设定一个基准的分辨率,也就是设计图对应的分辨率,其他分辨率都根据这个基准分辨率来计算,在不同的尺寸文件夹内部,根据该尺寸编写对应的dimens文件。...验证方案 简单通过计算验证下这种方案是否能达到适配的效果,例如设计图上有一个宽187dp的View。...可以把 smallestWidth 限定符屏幕适配方案 当成这种方案的升级版,smallestWidth 限定符屏幕适配方案 只是把 dimens.xml 文件中的值从 px 换成了 dp,原理和使用方式都是没变的...今日头条屏幕适配方案的核心原理在于,根据以下公式算出 density 默认px = density * dp,也就是屏幕总宽度dp = 屏幕宽度px / density,这个时候我们假设所有设备上的屏幕总宽度

1.2K40
  • 您找到你想要的搜索结果了吗?
    是的
    没有找到

    实用Android 屏幕适配方案分享

    实用Android 屏幕适配方案分享 真正可用,并且简单易行,可以在多个屏幕大小和屏幕密度上有良好表现的Android 屏幕适配方案,已用在一款成熟互联网应用中,效果还不错。...但是会说的居多,实际可以执行的可行方案,很少有人会。...我在面试的时候,很多人连drawable-hdpi 和drawable-mdpi  里面放的图片是适配不同屏幕密度,还是屏幕分辨率都会弄错,所谓的多机型适配,无外乎照本宣科。...那么本例同样可以解决Android工程师和UI妹妹间的矛盾~UI给出一个固定尺寸的设计稿,然后你在编写布局的时候不用思考,无脑照抄上面标识的像素值,就能达到完美适配,理想丰满~~ 然而,Android对于不同的屏幕给出的适配方案是...3、百分比的引入 1、引入 其实我们的解决方案,就是在项目中针对你所需要适配的手机屏幕的分辨率各自简历一个文件夹。

    1.4K70

    【Android 屏幕适配屏幕适配基础概念 ④ ( 屏幕适配限定符 | 手机平板电脑设备屏幕适配 )

    文章目录 一、屏幕适配限定符 二、手机/平板电脑设备屏幕适配 平板电脑市场占有率 密度无关像素计算 手机设备限定符 平板设备限定符 参考文档 : 设备兼容性概览 屏幕兼容性概览 支持不同的像素密度 声明受限屏幕支持...一、屏幕适配限定符 ---- Android 系统加载应用资源时 , 会根据当前运行应用的设备的相关属性 , 如 : 屏幕尺寸 / 屏幕像素密度 / 宽高比 / 屏幕方向 等属性 , 加载不同的屏幕适配限定符目录下的资源...\rm 480 < dpi \leq 640 ; 屏幕方向限定符 : 一般是用于横竖屏切换时进行适配 ; land : 横线屏幕 ; port : 纵向屏幕 ; 屏幕宽高比限定符 : 标准屏幕宽高比为...16:9 ; long : 比标准屏幕要长的屏幕 , 如 20:9 , 21:9 ; notlong : 标准屏幕 ; 二、手机/平板电脑设备屏幕适配 ---- 平板电脑市场占有率 Android..., 其中的 xx 是横向的 密度无关像素 ( DIP , Desity Independent Pixels ) 值 , 单位是 dp / dip ; 在 【Android 屏幕适配屏幕适配基础概念

    7.1K20

    Android全面的屏幕适配方案解析(四)__今日头条适配方案

    之前三篇把屏幕适配概念梳理了还讲解了列举的其中四种适配方案,还没有看过的童鞋可以先参考这三篇: Android全面的屏幕适配方案解析(一)__屏幕适配概念梳理 Android全面的屏幕适配方案解析(...二)__宽高限定符屏幕适配 Android全面的屏幕适配方案解析(三)__sw限定符适配方案 Android全面的屏幕适配方案解析(四)__今日头条适配方案 下面列举常用的适配方案: dp适配方案...宽高限定符适配方案 AndroidAutoLayout适配方案 sw限定符适配方案 今日头条适配方案 AndroidAutoSize适配方案 这里还是有必要重申一下,有些过时的适配方案这里还讲解啊,只能说每种适配方案都会有各自的优缺点...: 根据适配前后的对比效果还是挺明显的,AndroidAutoSize适配方案是根据今日头条屏幕适配方案官方公布的 30 行不到的代码,经过不断的优化和扩展,发展成了现在拥有将近20个类文件,上千行代码的全面性屏幕适配框架...,在迭代的过程中完善和优化了很多功能,相比今日头条屏幕适配方案官方公布的原始代码,AndroidAutoSize适配方案更加稳定、更加易用、更加强大,感兴趣的可以去阅读源码,注释非常详细,这里就不做过多的介绍啦

    1.4K50

    Android全面的屏幕适配方案解析(二)

    上一篇把屏幕适配相关的概念梳理了一下,主要也是为了能更好的理解后面内容,那从这篇开始就要讲解适配方案啦,没看第一篇的可以先看这篇:Android全面的屏幕适配方案解析(一) 下面列举常用的适配方案: dp...适配方案 宽高限定符适配方案 AndroidAutoLayout适配方案 sw限定符适配方案 今日头条适配方案 AndroidAutoSize适配方案 看到这有些童鞋可能就要问了,为啥有些过时的适配方案这里还讲解啊...,只能说每种适配方案都会有各自的优缺点,从最原始的适配方案讲起,才能更好的理解为啥会衍生出各种适配方案,话不多说,直接开干吧!...以上的适配方式,通过dp再加上自适应布局和weight比例布局可以基本解决不同手机上适配的问题,这基本上就是最原始的Android适配方案。 那这种方案有没缺点呢?...自然是有的,不然也不会推出这么多的适配方案,那我们来看看有啥缺点。

    1.1K30

    Android全面的屏幕适配方案解析(一)

    自Android系统发布以来,似乎一直绕不开屏幕适配这个话题。...而当Android系统、屏幕尺寸、屏幕密度出现碎片化的时候,就很容易出现同一元素在不同手机上显示不同的问题,为了保证某一元素在Android不同尺寸、不同分辨率的手机上具备相同的显示效果,这个时候就需要对屏幕进行适配啦...屏幕适配相关概念: 屏幕尺寸 屏幕尺寸指屏幕的对角线的物理长度,单位是英寸,1英寸=2.54厘米。...屏幕尺寸、分辨率、像素密度三者关系 屏幕像素密度与屏幕尺寸和屏幕分辨率有关,在单一变化条件下,屏幕尺寸越小、分辨率越高,像素密度越大,反之越小。...320x480)为基准:1dp=1px 以上的概念梳理一遍过后,下面就要开始讲解适配方案啦,由于篇幅过长,就分开几篇更新,敬请期待

    1.4K30

    flutter 屏幕适配

    屏幕适配屏幕算法 既然是算法适配就必然少不了获取屏幕宽高,我们用的就是媒体查询(MediaQuery), 下面是封装方法过后的,当然直接使用也是可以的: // 整屏宽度 double winWidth...context) { return MediaQuery.of(context).size.height; } 案例1: 蓝湖设计图有一张轮播图,宽度是 335 高度是 120,左右间隔是10, 如何使用屏幕算法适配全机型屏幕宽和高..., color: Colors.amber.withOpacity(0.5), ), child: new Text('模拟图片'), ), 效果 图片 图片 这就是一个普通的屏幕算法适配例子...,使用的是小学数学里的常用加减乘除,用了多少就用整个的减多少, 很常见也很简单很实用,在企业开发中用到这套就已经能完全适配所有屏幕了,主要是灵活应变。...不过能用组件来适配的还是建议使用组件。

    1.3K10

    【Android 屏幕适配屏幕适配通用解决方案 ③ ( 自定义组件解决方案 | 获取设备状态栏高度 | 获取设备屏幕数据 )

    文章目录 一、获取设备状态栏高度 二、获取设备屏幕数据 参考文档 : 设备兼容性概览 屏幕兼容性概览 支持不同的像素密度 声明受限屏幕支持 上一篇博客 【Android 屏幕适配屏幕适配通用解决方案...② ( 自定义组件解决方案 | 需要解决的问题 : 设计稿坐标数据转为屏幕真实坐标数据 | 实现步骤 ) 中 , 提出 如果要实现将 宽高为 720 x 1232 的设计稿 , 对应 手机屏幕中除 状态栏之外的...布局 , 需要完成如下操作 : 首先 , 要 获取到实际的设备屏幕数据 , 如 手机屏幕实际宽高 , 屏幕像素密度 DPI 等数据 ; 然后 , 计算实际设备的宽高 , 扣掉状态栏的高度 , 不同手机设备状态栏高度不同..., 然后再进行后续计算 ; 再后 , 给出一个 设计稿 与 屏幕实际有效像素值 的 换算比例 ; 最后 , 根据给出的比例 , 在 自定义组件的 onMeasure 方法 中 , 进 行动态换算 ,...; 通过 DisplayMetrics # heightPixels 可以获取屏幕高度 , 通过 DisplayMetrics # widthPixels 可以获取屏幕宽度 ; DisplayMetrics

    97010

    今日头条屏幕适配方案落地研究

    (头条方案跟最小宽度方案比较) smallesWidth 方案迁移 优缺点 issue 附录(适配核心代码) 前言 大家好,现在给大家推荐一种极低版本的 Android 屏幕适配方案,就是今日头条适配方案...前期,由于公司支持的平板款式单一,只需要做几款平板的适配即可,选用了 smalledtWidth(最小宽度)适配,但是这个方案在增加新屏幕时且原 dimens 文件无法很好适配时,就需要增加新屏幕的最小宽度...厂商写入一个 system/build.prop 文件,有时还会写错,就我们一款华为平板,获取的屏幕密度是2,但是手工测量并按公式得到实际屏幕密度是1.56。导致我们的适配方案在那款平板就失效了。...本人一直在寻找可以一劳永逸的屏幕适配方案,今日头条是选定基准分辨率,基于设备屏幕分辨率计算出新的屏幕密度进行适配,保证所有设备的显示效果一致,完美避开上面那款设备的问题。推荐给大家。...文件即可 优缺点 优点 使用成本非常低,操作非常简单,使用该方案无需增加dimens 文件,修改代码,完虐其他屏幕适配方案 侵入性非常低,切换几乎瞬间完成,试错成本接近为0 修改的 density 是全局的

    1.5K50

    Android全面的屏幕适配方案解析(三)

    之前两篇把屏幕适配概念梳理了还讲解了dp适配方案、宽高限定符适配方案,还没有看过的童鞋可以先参考这两篇: Android全面的屏幕适配方案解析(一) Android全面的屏幕适配方案解析(二) 下面列举常用的适配方案...: dp适配方案 宽高限定符适配方案 AndroidAutoLayout适配方案 sw限定符适配方案 今日头条适配方案 AndroidAutoSize适配方案 这里还是有必要重申一下,有些过时的适配方案这里还讲解啊...,只能说每种适配方案都会有各自的优缺点,从最原始的适配方案讲起,才能更好的理解为啥会衍生出各种适配方案,话不多说,下面继续讲解。...3、AndroidAutoLayout适配方案 所谓的AndroidAutoLayout适配方案,其实就是UI适配框架,这个是鸿洋大佬写的适配方案,这也是受宽高限定符适配方案启发写的,使用方式也比较简单...4、sw限定符适配方案 sw限定符适配即smallestWidth适配,也叫最小宽度限定符适配,指的是Android会识别到屏幕可用高度或宽度的最小尺寸的dp值,对于手机来说,这个值其实就是手机的宽度值

    49110

    【Android 屏幕适配屏幕适配通用解决方案 ⑦ ( PercentRelativeLayout 百分比布局方案 | 该布局已废弃本方案仅做参考 )

    文章目录 一、PercentRelativeLayout 百分比布局方案 二、将输出结果设置到组件标签中 参考文档 : 设备兼容性概览 屏幕兼容性概览 支持不同的像素密度 声明受限屏幕支持 约束布局 bias...计算公式参考 【约束布局】ConstraintLayout 偏移 ( Bias ) 计算方式详解 ( 缝隙比例 | 计算公式 | 图解 | 测量图 + 公式 ) 方案 ; 约束布局 百分比 屏幕适配案例参考...【约束布局】ConstraintLayout 屏幕适配案例 ( 使用代码生成约束布局控件属性 ) 博客 ; 约束布局百分比布局完整方案参考 【Android 屏幕适配屏幕适配通用解决方案 ⑥ ( 约束布局...ConstraintLayout 百分比布局方案 | 将设计稿尺寸自动转为约束布局百分比标签属性 | 将输出结果设置到组件标签中 ) 博客 ; 一、PercentRelativeLayout 百分比布局方案...---- 使用如下程序 , 输入 PercentRelativeLayout 布局的 宽度 , 高度 // 给出中心点坐标,图片宽高,屏幕宽高,计算出该图片的位置 // 屏幕宽高 float

    29320

    【Android 屏幕适配屏幕适配通用解决方案 ① ( 定义 dimens.xml 方案 | 使用 ScreenMatch 插件生成不同屏幕分辨率的 dimens.xml 配置 )

    文章目录 一、屏幕适配通用解决方案 二、ScreenMatch 插件使用 安装 ScreenMatch 插件 生成 dimens.xml 文件 配置 dimens.xml 文件生成选项 参考文档 :...设备兼容性概览 屏幕兼容性概览 支持不同的像素密度 声明受限屏幕支持 一、屏幕适配通用解决方案 ---- 目前存在两种通用的屏幕适配解决方案 : ① 方案一 : 自定义控件 , 自定义 ViewGroup...控件 , 也就是写布局组件 ( LinearLayout / RelativeLayout 等组件 ) 的子类 , 在其中的布局测量 onMeasure 方法中进行控件的测量操作 ; ② 方案二 :...定义 dimens , 给每种 屏幕分辨率 情况都配置一套 dimens.xml 配置 ; 二、ScreenMatch 插件使用 ---- 安装 ScreenMatch 插件 选择 菜单栏 / File...240,320,384,392,400,410,411,480,533,592,600,640,662,720,768,800,811,820,960,961,1024,1280,1365 match_dp= ignore_dp= 用于配置要屏幕哪些配置

    1.9K21

    Flutter之屏幕适配

    Flutter 暂时没有官方的屏幕适配方案,在 Flutter 项目开发中目前大部分的适配方案都是通过比例来进行适配,是一个通用的适配方法,该适配方法也在前端、Android、iOS、小程序等开发中广泛使用...但是如果有特殊需求也可以使用高度来进行适配,比如需求要求是 banner 占屏幕的 1/4 ,或者要求内容刚好一屏显示,这个时候设置控件的高度时就可以采用高度单位来进行适配。...基于上面的算法,在项目中就可以实现对应的适配方案了,但本着不重复造轮子的思想,项目开发中可以直接使用 flutter_screenutil[1] 这个适配库。...flutter_screenutil flutter_screenutil 就是基于上述比例适配原理而实现的屏幕适配库。目前最新版本是 5.0.1,在 GitHub 上拥有 2.8k 的 star 。...可通过如下 api 获取宽高以及字体的适配数值: ScreenUtil().setWidth(540) //根据屏幕宽度适配尺寸 ScreenUtil().setHeight(200) //根据屏幕高度适配尺寸

    2K20

    15.屏幕适配

    屏幕适配 主流屏幕: 1280*720, 遵循原则: 不用AbsoluteLayout(绝对布局), 多用相对布局&线性布局(权重), 要用dp,不用px 开发后期, 在不同分辨率屏幕上测试(480...图片适配 不是很常用,分别在drawable各放一套图,但会导致软件体积很大 布局适配 不是很常用, layout-800x480 专门适配480*800的屏幕 尺寸适配 dp和px的关系: dp...density); 320*240(0.75), 480*320(1),480*800(1.5),1280*720(2) values->dimens.xml values-1280x720 权重适配...android:weightSum="3" 代码适配 获取屏幕宽高,动态计算控件大小 在智慧北京引导页下面的圆点写死了,侧边栏也在大屏幕会拉出很长,现在修改: 1.创建工具类 public class...slidingMenu.setBehindOffset(width * 200 / 320);// 设置预留屏幕的宽度,按比例 initFragment(); } 美工做的 来自为知笔记(Wiz

    33910

    15.屏幕适配

    屏幕适配   主流屏幕: 1280*720, 遵循原则: 不用AbsoluteLayout(绝对布局), 多用相对布局&线性布局(权重), 要用dp,不用px 开发后期, 在不同分辨率屏幕上测试(480...图片适配 不是很常用,分别在drawable各放一套图,但会导致软件体积很大 布局适配 不是很常用,  layout-800x480 专门适配480*800的屏幕 尺寸适配 dp和px的关系: dp...density); 320*240(0.75), 480*320(1),480*800(1.5),1280*720(2) values->dimens.xml  values-1280x720  权重适配...android:weightSum="3" 代码适配 获取屏幕宽高,动态计算控件大小 在智慧北京引导页下面的圆点写死了,侧边栏也在大屏幕会拉出很长,现在修改: 1.创建工具类 public class...slidingMenu.setBehindOffset(width * 200 / 320);// 设置预留屏幕的宽度,按比例 initFragment(); } 美工做的 ?

    77780

    浅谈 Android 屏幕适配

    支持每种密度的 位图可绘制对象的相对大小 适配方案 密度独立性 应用显示在密度不同的屏幕上时,如果它保持用户界面元素的物理尺寸(从 用户的视角),便可实现“密度独立性” 。...图标的适配 在进行开发的时候,我们需要把合适大小的图片放在合适的文件夹里面。...一般情况下,我们只需要提供3套切图资源就可以满足安卓工程师的适配,分别是 HDPI、XHDPI、 XXHDPI 3套切图资源。...推荐使用的办法就是只提供最大尺寸的切图,xxhdpi 的高清图, 然后可以交给安卓工程师自己去缩放适配其他分辨率。...图标的各个屏幕密度的对应尺寸 .9图自动拉伸 ImageView的ScaleType属性 设置 不同的 ScaleType 会得到不同的显示效果,一般情况下,设置为 centerCrop 能获得较好的适配效果

    1.4K10
    领券