首页
学习
活动
专区
圈层
工具
发布
    • 综合排序
    • 最热优先
    • 最新优先
    时间不限
  • 来自专栏非典型技术宅

    iOS屏幕适配概述1 屏幕适配简介2 Autoresizing3 Auto Layout

    [toc] 1 屏幕适配简介 1.1 屏幕发展历史 手机型号 |屏幕大小 | 分辨率 ------------ | ------------- 4, 4S |3.5 | 320480 5,5C,5S 直接使用 frame 计算控件的位置 特点:程序中存在大量的 MagicNumber iPhone\ iPhone3G \ iPhone3GS \ iPhone4 \ iPhone4S 屏幕的物理尺寸是一样的 (无需屏幕适配) 而且一个应用要么是横屏要么是竖屏, 几乎不存在能同时进行横竖屏切换的应用 应用程序都是竖屏 游戏几乎都是横屏 官方应用大多支持横竖屏 使用 Autoresizing 进行屏幕适配 随着 iPad 的发布, 屏幕的物理尺寸发生了变化 并且苹果建议,在 iPad 上运行的程序如果没有特殊原因,应该支持横竖屏切换 因此:不能把控件的 frame 都写死了,需要进行屏幕适配 为了解决屏幕适配需求 当 iPhone6 发布以后,苹果设备的屏幕越来越多(以后也可能出现更多不同大小的屏幕),为了能更容易的适配不同 的屏幕,苹果推出了 Size Classes 技术 通过 Auto Layout 设置的约束

    1.7K30发布于 2018-06-28
  • 来自专栏韩曙亮的移动开发专栏

    【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.9K20编辑于 2023-03-30
  • 来自专栏日常技术分享

    iOS 屏幕适配

    现在开发iOS无非就是用xib和纯代码开发,不论用什么方式开发都少不了屏幕适配。这只是个人开发中使用的方法也不一定是最好的方法,仅供交流和分享使用。 Xib 屏幕适配 关于xib屏幕适配要注意两点 1.字体大小适配 2.控件约束适配 xib字体适配 UILable 为例子 #import <UIKit/UIKit.h> NS_ASSUME_NONNULL_BEGIN (iphone 6) #define kDesignWidth 375.0 // 以屏幕宽度为固定比例关系,来计算对应的值。 利用IBInspectable关键字和分类 1.写一个NSLayoutConstraint的分类,添加adapterScreen的属性(Bool 值,yes代表需要对屏幕进行等比例适配) #import adapterScreen){ self.constant = [FitScaleHelper adaptWidthWithValue:self.constant]; } } @end 3.

    1.5K20发布于 2021-04-16
  • 来自专栏flutter开发精选

    flutter 屏幕适配

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

    1.6K10编辑于 2022-09-20
  • 来自专栏loongwind

    Flutter之屏幕适配

    Flutter 暂时没有官方的屏幕适配方案,在 Flutter 项目开发中目前大部分的适配方案都是通过比例来进行适配,是一个通用的适配方法,该适配方法也在前端、Android、iOS、小程序等开发中广泛使用 就得到了 1w 代表的真实宽度: 1w = 设备真实宽度 / 设计图宽度 如设计图尺寸是 360 x 690 ,则宽度为 360w ,真实设备宽度为 1080 则 1w = 1080 / 360 = 3。 根据上面的算法,得到对应设备的 1w 的真实宽度: Google Pixel: 1w = 1080 / 360 = 3 Google Pixel XL:1w = 1440 / 360 = 4 iPhone 但是如果有特殊需求也可以使用高度来进行适配,比如需求要求是 banner 占屏幕的 1/4 ,或者要求内容刚好一屏显示,这个时候设置控件的高度时就可以采用高度单位来进行适配。 可通过如下 api 获取宽高以及字体的适配数值: ScreenUtil().setWidth(540) //根据屏幕宽度适配尺寸 ScreenUtil().setHeight(200) //根据屏幕高度适配尺寸

    2.7K20编辑于 2022-09-27
  • 来自专栏Android开发指南

    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 设置圆点间隔 } point.setLayoutParams(params);// 设置圆点的大小 llPointGroup.addView(point);// 将圆点添加给线性布局 } 3.

    52910编辑于 2022-01-12
  • 来自专栏Android开发指南

    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 设置圆点间隔 } point.setLayoutParams(params);// 设置圆点的大小 llPointGroup.addView(point);// 将圆点添加给线性布局 } 3.

    96780发布于 2018-05-14
  • 来自专栏叽叽西

    浅谈 Android 屏幕适配

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

    2.1K10编辑于 2022-05-17
  • 来自专栏Flutter入门到实战

    Android适配全面总结(一)----屏幕适配

    好了,言归正传,根据多年开发经验,总结一下Android适配主要表现在以下 3个方面: 1、屏幕适配。(网上讲的最多的就是这个。) 不同的系统版本api有所变更,既要适配高版本,也要做到兼容低版本。 具体讲解请看链接: http://www.jianshu.com/p/49fa8ebc0105 3、ROM适配。 作为度量单位会有所背离 2.必须尽可能多的包含所有分辨率,因为这个是使用这个方案的基础,如果有某个分辨率缺少,将无法完成该屏幕适配 3.过多的分辨率像素描述xml文件会增加软件包的大小和维护的难度 如果默认values文件夹没有(即没有对应的分辨率、没有对应dimen)就会报错,从而无法进行屏幕适配。 ★ 3.根据UI设计师给出设计图上的尺寸,找到对应像素数的单位,然后设置给控件即可。 ★ 3.通过引用 @drawable/id,系统都能根据相应屏幕屏幕密度(dpi)自动选取合适的位图。

    4.6K50发布于 2018-09-03
  • 来自专栏韩曙亮的移动开发专栏

    【Android 屏幕适配屏幕适配基础概念 ① ( Android 与 iOS 屏幕宽高比种类 | 屏幕像素密度 DPI )

    文章目录 一、Android 与 iOS 屏幕宽高比种类 二、屏幕像素密度 参考文档 : 设备兼容性概览 屏幕兼容性概览 支持不同的像素密度 声明受限屏幕支持 一、Android 与 iOS 屏幕宽高比种类 ---- Android 屏幕尺寸类型如下 , 安卓设备的屏幕尺寸复杂性远远高于 iOS 设备 , Android 设备有两万种屏幕类型 , iOS 只需要适配五种分辨率即可 ; iOS 屏幕尺寸如下 , 只需要适配有限的几种屏幕类型即可 ; 二、屏幕像素密度 ---- 屏幕像素密度 的单位是 DPI , 是 Dots Per Inch 的缩写 , 也就是每 英寸 的 像素点 个数 ; 屏幕尺寸 指的是 屏幕 斜对角的 英寸 长度 ; 假设屏幕尺寸为 6.5 寸 , 屏幕的宽高分辨率为 1080 \times 1920 , 计算该屏幕屏幕像素密度 ( DPI , Dots Per Inch 3253 ② 然后计算每英寸的像素个数 : DPI = \cfrac{对角线像素个数}{屏幕尺寸} = \cfrac{3253}{6.5} \approx 500

    7.3K30编辑于 2023-03-30
  • 来自专栏全栈程序员必看

    Android开发 屏幕适配之像素密度适配

    由于市场上采用Android系统的设备种类繁多,迫使Andriod开发人员不得不做烦人的适配工作。 适配工作包括对安装不同Android版本的设备进行适配,对不同屏幕的设备进行适配等。 而屏幕适配又包括: 屏幕尺寸(small,normal,large,xlarge , 这些在Android 3.2以上版本开始不建议使用,转而使用最小屏幕宽度如 sw600dp,最小宽度,最小高度等) 屏幕方向(port 竖屏,land 横屏) 屏幕像素密度(ldpi,mdpi,hdpi,xhdpi,xxhdpi,xxxhdpi) 本文主要介绍屏幕像素密度适配相关知识。 对应上面的测试例子: 1.获取图片文件宽度48 2.转换成px单位宽度 newWidth = 48 * (320 / 160) = 96 3. 128 -> 96),hdpi会拉伸大小(64 -> 96) 最后一个ImageView引用的图片@drawable/hdpi_test_2 其大小是72×72,可以看出它的画质最为清晰,这也正体现根据屏幕像素密度适配的重要性

    1.8K10编辑于 2022-09-06
  • 来自专栏android技术

    Android屏幕适配框架(二)

    由于上一篇框架需要控件重新渲染一次,对于大型项目性能方面运行不够快,针对该问题进行优化 核心思想:自定义组件,在组件的onMeasure中就改变控件的长宽等属性 实现方法:自定义百分比组件,使用该组件自动适配该组件下所有子 float heightPercent = ((IGetPercent) layoutParams).getHeightPercent(); //适配不同屏幕 width_percent="0.5" /> </com.aruba.screenlibrary.layout.PercentLinearLayout> 结论:在测量方法onMeasure中就完成对控件的适配

    85310发布于 2020-07-03
  • 来自专栏Android开发

    Android屏幕适配(使用ConstraintLayout)

    前言:有一个还在上大学的小学弟问博主有没有啥屏幕适配简单的方法,把鸿洋大神的帖子发给他,他说看不懂,鉴于其学Android的时间很短,所以自己出一篇比较容易的简单方法的帖子(百分比适配)。 教程如下: 1.拉两根横向参考线分别定在20%,65%(博主计算所得) 2.然后拉一个imageView进入布局,选择自己要显示的图片 3.将此imageView的上下参照物设置为两参照线,并将左右参照物设置为父容器 这张图就适配好位置了。 同理:适配第二张图 新建两线,将两线位置分别定在%89,%93.5。 layout_constraintGuide_percent="0.89" /> <androidx.constraintlayout.widget.Guideline android:id="@+id/guideline<em>3</em>" wrap_content" android:layout_height="0dp" app:layout_constraintBottom_toTopOf="@+id/guideline<em>3</em>"

    35910编辑于 2025-06-12
  • 来自专栏全栈程序员必看

    Android屏幕适配之Autosize

    一、简介 Autosize今日头条屏幕适配方案终极版,一个极低成本的 Android 屏幕适配方案。 实际使用配置如下图: 图片 3、使用 3.1、布局.xml 在布局中直接使用dp与sp去适配就好,没有什么好说的直接上例子 在实际代码中我这边使用的的一个感觉比较使用的方法AutoSizeConfig.getInstance(),主要用来配置横竖屏分辨率,具体使用如下: //屏幕适配监听器 public void onAdaptBefore(Object target, Activity activity) { //使用以下代码, 可以解决横竖屏切换时的屏幕适配问题 若有想了解更多的可以去看一下源码:https://github.com/JessYanCoding/AndroidAutoSize 官方文档:一种极低成本的Android屏幕适配方式 三、总结

    1.7K10编辑于 2022-08-30
  • 来自专栏浮躁的喧嚣

    iOS-屏幕适配实现

    常见布局方式 固定间距 :不同尺寸下,间距总是固定的 流式布局 : 文字、图片等在不同屏幕下流式排布,比如大屏下一行显示四张图片,小屏一行三张,图片尺寸固定 比例放大 :间距、文字大小,图片大小等比例放大 保持比值 :俩个UI元素或者图片的长宽等属性保持一定的比值 对齐 :元素间按某个方向对齐 屏幕适配的方法 Autoresizing AutoLayou VFL Masonry SnapKit

    37010编辑于 2023-11-22
  • 来自专栏android技术

    Android屏幕适配框架(一)

    displayWidth; private static int displayHeight; // 后面要减去状态栏的高度 //状态栏高度 private int statusBarHeight; //屏幕信息 private DisplayMetrics displayMetrics; 首先使用WindowManager获取本机屏幕长宽,存放在displayMetrics.widthPixels 和 displayMetrics.heightPixels displayMetrics = new DisplayMetrics(); windowManager.getDefaultDisplay().getMetrics(displayMetrics); 而实际屏幕大小要减去状态栏高度 (int) UIUtils.getInstance().getHeight(bottomPadding)); } } 可以使用上面工具类中的方法对单个控件进行适配 再进行封装得出下面的类: /** * 逐层处理viewgroup */ public class ViewsParseUtil { /** * 对activity中的所有控件进行适配

    1K30发布于 2020-07-03
  • 来自专栏韩曙亮的移动开发专栏

    【Android 屏幕适配屏幕适配基础概念 ③ ( 屏幕像素密度 DPI 与素材大小关联 | 屏幕像素密度 DPI 与 屏幕密度限定符关联 )

    文章目录 一、屏幕像素密度 DPI 与素材大小关联 二、屏幕像素密度 DPI 与 屏幕密度限定符 xhdpi 关联 参考文档 : 设备兼容性概览 屏幕兼容性概览 支持不同的像素密度 声明受限屏幕支持 一 、屏幕像素密度 DPI 与素材大小关联 ---- 屏幕像素密度 DPI 与素材大小关联 : 屏幕像素密度 ( DPI , Dots Per Inch ) 为 120 dpi 时 ( ldpi ) , 对应屏幕分辨率 240 x 320 ( QVGA ) , 对应素材放在 素材放在 res/mmap-ldpi 目录下 ; 屏幕像素密度 ( DPI , Dots Per Inch ) 为 160 dpi 时 ( mdpi ) , 对应屏幕分辨率 320 x 480 ( HVGA ) , 对应素材放在 素材放在 res/mmap-mdpi 目录下 ; 屏幕像素密度 ( DPI , Dots DPI 与 屏幕密度限定符 xhdpi 关联 ---- 不同屏幕像素密度下的像素比例 : \rm mdpi : hdpi : xhdpi : xxhdpi : xxxhdpi=2 : 3 : 4 :

    4.1K30编辑于 2023-03-30
  • 来自专栏易帜的Android 学习之旅

    Android 官方屏幕适配之ScreenMatch

    关于屏幕适配的方案有两种,一种是使用ScreenMatch,一种是使用[AndroidAutoSize]。 如果项目只需要适配手机的话,适配的设备最小宽度保留 384,392,400,410,411,480,533,592,600,640,662,720,768,800,811,820,960,961,1024,1280,1365 即可, 其中match_dp则表示需要适配的最小宽度值(如果是小数,则保留4位小数。 **ignore_dp=**忽略不需要适配的最小宽度值,即忽略掉插件默认生成的 dimens.xml 文件, 例如忽略掉480,533的适配 即:ignore_dp=480,533 如何使用 例如我们需要

    2K20编辑于 2022-02-09
  • 来自专栏Android开发小工

    WebView显示图片适配屏幕宽度

    首先必须吐槽一下后台返回的Url网页HTML代码太坑: 情景一、WebView加载url 图片直接就是标签出来的,还是一张巨大的图片,直接导致webview加载只有截取了屏幕大小的宽度,看不到整张图片, 测试要求适配屏幕宽度。 于是有了这篇博客记录一下,在Webview的setWebViewClient()方法中WebViewClient中在加载完网页后执行一个JavaScript方法,这个JavaScript方法将所有网页中图片的宽度设置为屏幕显示宽度 } 情景二、WebView直接加载HTML代码 这里还记载一种以前遇到的情况,就是接口返回一段HTML方法,需要我们把这段HTML方法放在WebView中显示出来,也会有图片需要适配屏幕宽度的需求

    2.3K20发布于 2018-08-23
  • 来自专栏浮躁的喧嚣

    iOS-屏幕适配实现(Masonry)

    Masonry是一个轻量级的布局框架,拥有自己的描述语法,采用更优雅的链式语法封装AutoLayout,简洁明了并具有高可读性,而且同时支持 iOS 和 Max OS X

    87910编辑于 2023-11-22
领券