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

【Android 屏幕适配】屏幕适配通用解决方案 ④ ( 自定义组件解决方案 | 计算设计稿与实际布局的比例系数 )

实际坐标数据 ; 在博客 【Android 屏幕适配】屏幕适配通用解决方案 ③ ( 自定义组件解决方案 | 获取设备状态栏高度 | 获取设备屏幕数据 ) 中 , 完成了前两项工作 , 已经获取了实际的屏幕数据...③ ( 自定义组件解决方案 | 获取设备状态栏高度 | 获取设备屏幕数据 ) 二、获取设备屏幕数据 博客章节完成了对应数据 . /** * 设备布局实际宽度 */...}{布局组件高度}\ \ \ \ 公式② 上述公式中 , 布局组件宽度 和 布局组件高度 , 就是我们在自定义组件计算出的内容 ; 设计稿宽度 就是 REFERENCE_WIDTH 成员变量 ;...float REFERENCE_HEIGHT = 1232; 屏幕布局宽度 , 在 【Android 屏幕适配】屏幕适配通用解决方案 ③ ( 自定义组件解决方案 | 获取设备状态栏高度 | 获取设备屏幕数据...screenWidth; 屏幕布局高度 , 在 【Android 屏幕适配】屏幕适配通用解决方案 ③ ( 自定义组件解决方案 | 获取设备状态栏高度 | 获取设备屏幕数据 ) 二、获取设备屏幕数据 博客章节完成了对应数据的计算

1.2K10

利好前端开发!ChromeEdgeFirefoxSafari 决定合力解决 Web 兼容性问题 !

正在合力制定一项名为 Interop 2022 的 Web 兼容性规范,以使 Web 技术和代码在不同的设备和浏览器中有统一的渲染效果(利好前端开发)。...: Cascade Layers(级联层) 有了这个标准,网站可以创建一个“框架”层和一个“自定义”层,然后将所有第三方框架的 CSS 样式分配到框架层,在自定义层中编写自定义样式,而且自定义层的所有...Containment(CSS contain 属性) contain 属性用于识别和测量特定容器的大小,然后根据该容器的大小应用不同的样式。...Viewport Units(视窗单位) 新的视窗单位考虑包含标题栏的布局,引入了最大、最小和动态视窗单位,比如 100svh 指 100% 最小可能视窗高度,100lvh 指 100% 最大可能视窗高度...同理,svw、 lvw、 和 dvw 用于宽度单位。

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

    Window对象

    indexedDB: 集成了为应用程序提供异步访问索引数据库的功能的机制。 innerHeight: 返回窗口的文档显示区的高度。 innerWidth: 返回窗口的文档显示区的宽度。...opener: 返回对创建此窗口的窗口的引用。 outerHeight: 返回窗口的外部高度,包含工具条与滚动条。 outerWidth: 返回窗口的外部宽度,包含工具条与滚动条。...confirm(): 显示带有一段消息以及确认按钮和取消按钮的对话框。 focus(): 把焦点给予一个窗口。 getComputedStyle(): 获取指定元素的CSS样式。...print(): 打印当前窗口的内容。 prompt(): 显示可提示用户输入的对话框。 requestAnimationFrame: 提供匹配屏幕刷新率的动画帧绘制方法。...resizeTo(): 把open创建的窗口的大小调整到指定的宽度和高度。 scroll(): 滚动窗口至文档中的特定位置。 scrollBy(): 在窗口中按指定的偏移量滚动文档。

    2.5K20

    Android项目实战(三十二):圆角对话框Dialog

    前言:   项目中多处用到对话框,用系统对话框太难看,就自己写一个自定义对话框。   ...2、Android项目实战(五):TextView自适应大小   一行内显示文本信息,当文本字数少的时候 ,文字大小大,当文本字数多的时候,文字大小小。   ...dialog.show();   4、设置对话框的宽度和高度     DisplayMetrics dm = context.getResources().getDisplayMetrics();...* 0.28); //高度设置为屏幕的0.28 dialog.setCanceledOnTouchOutside(false);// 设置点击屏幕Dialog不消失...; //宽度设置为屏幕的0.5 dialog.getWindow().setAttributes(p); //设置生效 附提示文本多的时候的对话框界面:  完整代码: /*

    2.4K70

    08-移动端开发教程-移动端适配方案

    常见的适配方案 百分比+固定高度布局方案 固定屏幕为理想视口宽度 少许的媒体查询设置字体 水平百分比布局 水平方向部分也可以使用弹性布局 Rem解决方案 Rem的大小取值:根据页面的dpr动态改变 Rem...= 32px */ 比如,如下需求:随着设备尺寸的变宽,元素高度和宽度都相应放大,比如下图中弹出的拉钩下载的app链接的层。...随着设备尺寸的变宽,元素高度和宽度都相应放大 可以通过设置元素的宽高直接用rem单位,然后根据不同的屏幕的宽度设置不同的html字体的大小,来实现自动适配不同屏幕的目的。...: 根据CSS的媒体查询设备的屏幕的宽度,根据宽度的大小设置密集的html根元素的字体大小。...比如: 头像在不同设备上一般都会设置固定像素的大小 宽度可能超过50%的盒子尽量用百分比或者弹性盒子布局 高度和宽度需要同时根据屏幕自动缩放的时候,推荐使用rem布局 5.

    3.5K100

    基于HarmonyOS 5.0 (Next)的一种面向多设备跨平台的高性能自适应布局能力研究和实现

    本文旨在研究和实现基于HarmonyOS 5.0(Next)的一种面向多设备跨平台的高性能自适应布局能力。...;本课题通过基于ArkUI相关能力设计并实现适合多设备跨平台的高级可自定义布局组件(比如类似瀑布流组件); 本课题包括如下内容: 1、基于自定义布局能力实现适合多设备和跨平台的高级可自定义组件(比如下图中的瀑布流...ArkTS组件) 加分项:2、提供ArkUI的GeometryReader测量组件尺寸能力,且基于该能力实现高级自定义组件 (2)要求 1)该高级组件能自动适应不同屏幕设备做到行数自适应 2)该高级组件支持...ArkUI布局机制 ArkUI基于Flexbox和Grid布局模型,提供了丰富的布局容器和组件。但为了实现自定义的瀑布流布局,我们需要基于ArkUI的自定义组件能力,创建一个全新的布局组件。...这通常涉及到以下几个步骤: 确定列数:根据屏幕宽度或父容器的宽度来确定瀑布流应该有多少列。这可以通过简单的除法运算(宽度除以每个项的宽度)来实现,但也要考虑到边距等因素。

    23130

    Unity3D-关于项目的屏幕适配(看我就够了)

    屏幕的宽高比(Aspect Ratio) = 屏幕宽度/屏幕高度 3-2....如果我们的游戏屏幕有640像素高,那么实际换算成单位高度则是6.4个单位, 当我们摄像机的orthographicSize值是3.2时,摄像机大小刚好与屏幕大小相等 4、Unity3D中的屏幕适配设置...Paste_Image.png 2、屏幕宽高比 屏幕的宽高比Aspect Ratio = 屏幕宽度/屏幕高度 ?...摄像机实际宽度 = 摄像机高度 * 屏幕宽高比 我举个例子说明一下,iPhone4的屏幕像素为640*960,宽高比为2:3,假设Pixels To Units值为100,那么如果设摄像机高度size...8、了解游戏中的摄像机 相机(Camera) 是向玩家捕获和显示世界的设备。通过自定义和操纵摄像机, 你可以使你的游戏表现得真正独特。您在场景中摄像机的数量不受限制。

    28.2K54

    Android常用对话框大全——Dialog「建议收藏」

    六:完全自定义的对话框 上面我们说了可以通过调用.setView(view)方法,自定义其显示的内容;但是你会觉得这远远不够我还想把他的标题或者底部按钮给改了,那么就需要来个完全自定义了,如下:...所以现在关键就是码我们的布局了一起来看看效果图 既然是自定义对话框,那么就肯定要来弄一弄他的方方面面; 这里使用到了一个工具类用来计算手机屏幕的宽高,如下代码: public class ScreenSizeUtils...screenHeight = dm.heightPixels;// 获取屏幕分辨率高度 } //获取屏幕宽度 public int getScreenWidth...Dialog放置在屏幕底部lp.gravity = Gravity.BOTTOM;并设置他的宽度为屏幕的90%lp.width = (int) (ScreenSizeUtils.getInstance(...dialog.show(); BottomSheetDialog会根据你设置的View大小来计算默认显示出来的高度,内容越多显示的越多反之则越少。

    4.2K30

    08-移动端开发教程-移动端适配方案

    常见的适配方案 百分比+固定高度布局方案 固定屏幕为理想视口宽度 少许的媒体查询设置字体 水平百分比布局 水平方向部分也可以使用弹性布局 Rem解决方案 Rem的大小取值:根据页面的dpr动态改变...= 32px */ 比如,如下需求:随着设备尺寸的变宽,元素高度和宽度都相应放大,比如下图中弹出的拉钩下载的app链接的层。...随着设备尺寸的变宽,元素高度和宽度都相应放大 可以通过设置元素的宽高直接用rem单位,然后根据不同的屏幕的宽度设置不同的html字体的大小,来实现自动适配不同屏幕的目的。...: 根据CSS的媒体查询设备的屏幕的宽度,根据宽度的大小设置密集的html根元素的字体大小。...比如: 头像在不同设备上一般都会设置固定像素的大小 宽度可能超过50%的盒子尽量用百分比或者弹性盒子布局 高度和宽度需要同时根据屏幕自动缩放的时候,推荐使用rem布局 5.

    3K60

    前端自适应方案总结,前端最佳自适应方案

    3.设备的像素比(device pixel ratio)简称DPR 它的数值体现了物理像素和逻辑像素之间的关系,用公式可以计算出该设备的DPR的大小: DPR = 物理像素 / 逻辑像素 那么了解了上面这些概念...和 -webkit-max-device-pixel-ratio进行媒体查询,对不同DPR的设备,做一些样式适配(这里只针对webkit内核的浏览器和webview)。...可以看做是字符高度,(不一定等于行高),半角符号或字母(长方形)的宽度为px值的一半,全角符号或汉字,由于是正方形,宽度即等于高度,因此宽高都等于px值 6.为什么要根据不同大小的屏幕设置rem?...仍有不足通过vw无法设置最小的网页宽度,网页会随着屏幕的缩小无限缩小 通过Flex Column去自适应高度,rem作为单位自适应宽度。...总结 以上的情况都只考虑PC端的状态,如何设备小于最小宽度的话,应该考虑@media,给不同大小的设备定义不同的样式。

    2.5K30

    JavaScript、Jquery获取屏幕的宽度和高度

    在日常的项目中经常需要获取屏幕的宽度或者高度,简单记录一下: Javascript方法获取: document.body.clientWidth //网页可见区域宽 document.body.clientHeight... //屏幕分辨率的宽 window.screen.availHeight //屏幕可用工作区高度 window.screen.availWidth //屏幕可用工作区宽度 JQuery方法获取: ($(...window).height()); //浏览器当前窗口可视区域高度 ($(document).height()); //浏览器当前窗口文档的高度 ($(document.body).height())...;//浏览器当前窗口文档body的高度 ($(document.body).outerHeight(true));//浏览器当前窗口文档body的总高度 包括border padding margin...;//浏览器当前窗口文档body的宽度 ($(document.body).outerWidth(true));//浏览器当前窗口文档body的总宽度 包括border padding margin

    5.3K00

    EasyX图形库学习(一)

    textheight 获取字符串实际占用的像素高度。 textwidth 获取字符串实际占用的像素宽度。 图像处理相关函数: 函数或数据类型 描述 IMAGE 保存图像的对象。...此外,还可以获取绘图设备的指针、旋转图像内容、设定当前绘图设备、调整设备尺寸以及获取设备的显示缓冲区和句柄。...EasyX是一个用于简化Windows下图形编程的库,它提供了一系列易于使用的绘图函数和工具。通过这些函数,您可以开始和结束批量绘图,获取版本信息,获取窗口句柄,以及以对话框形式获取用户输入。...需要注意的是,setbkcolor 函数只是改变了设备上下文中背景色的设置,并不会立即改变屏幕上的颜色。如果你想要立即看到颜色的改变,可以使用如 ClearRect 等函数来清空并重新绘制屏幕区域。...PS_USERSTYLE 线形样式为用户自定义,由参数 puserstyle 和 userstylecount 指定。 thickness 线的宽度,以像素为单位。

    54910

    AndroidAutoSize使用简介

    ,需要自定义尺寸 public interface CustomAdapt { /** * 是否按照宽度进行等比例适配 (为了保证在高宽比不同的屏幕上也能正常适配, 所以只能在宽度和高度之中选一个作为基准进行适配...(为了保证在高宽比不同的屏幕上也能正常适配, 所以只能在宽度和高度之中选择一个作为基准进行适配) * * @return {@code true} 为按照宽度进行适配, {@code...()两个方法,前者只能宽高适配二选一,后者是如果基于宽就返回设计图总宽度,如果是基于高,就返回设计图总高度,详见注释。...//是否使用设备的实际尺寸做适配, 默认为 false, 如果设置为 false, 在以屏幕高度为基准进行适配时 //AutoSize 会将屏幕总高度减去状态栏高度来做适配...//设置为 true 则使用设备的实际屏幕高度, 不会减去状态栏高度 // .setUseDeviceSize(true)

    3.3K30

    CSS Viewport 单位,很多人还不知道使用它来快速布局!

    Vmin 单位 vmin表示视口的宽度和高度中的较小值,也就是vw 和 vh 中的较小值。如果视口宽度大于其高度,则将根据高度计算该值。 我们以下面的例子为例。 ?...视口单位基于页面的根元素,而百分比则基于它们所在的容器。因此,它们彼此不同,但各自都有各自的用处。 视口单位的用例 字体大小 ? CSS 视口单位非常适合响应式排版。...但是,如果没有适当的测试就直接使用它可能会踩到坑。 让我们看下面的视频: ? 体大小变得非常小,这不利于可访问性和用户体验。据我所知,移动设备上的最小字体大小不应该不于14px。...另一个需要考虑的重要问题是字体大小在大屏幕上的表现,例如 27” iMac。会发生什么呢?你猜对了,字体大小为95px左右,这是一个很大的值。...在我的职业生涯中,我没有使用固定高度的页脚,因为在例如不同的屏幕尺寸下,此footer是不可行的。

    3.3K30

    折叠屏上应用设计规范,了解一下?

    手机上的全屏对话框 (Full-screen dialog) 在大屏幕上可以采用简单对话框 (Simple dialog) 替代,以保持用户当前操作的上下文。...△ 在大屏上使用简单对话框 (右) 代替全屏对话框 (左) 尺寸类别 请记住,替换组件时,首先要满足用户的功能性和人性化需求。找到调整界面的正确阈值,这是实现响应式界面的重要步骤。...例如,几乎所有标准手机在竖屏模式下都采用了较小 (Compact) 宽度和中等 (Medium) 高度的组合,由于普遍使用垂直滚动,对大多数应用而言,根据宽度的尺寸类别进行适配就已足够。...△ 基于宽度的尺寸类别 △ 基于高度的尺寸类 这些 尺寸类 将作为新的 API 出现在 1.1 版 Jetpack Window Manager 库中。...我们将使用这些坐标以及宽度和高度创建一个 Rect 对象,这样我们便得到了窗口坐标空间中的视图边界。

    4.5K20
    领券