Android 屏幕适配神器ScreenMatch

Android 屏幕适配神器ScreenMatch,第1张

网上关于屏幕适配的文章已经铺天盖地了,为什么我还要讲?因为网上现在基本都是使用 屏幕分辨率限定符 进行适配,即每种屏幕分辨率的设备需要定义一套 dimensxml 文件。由于不同分辨率的设备太多了,而且有些设备还有虚拟按键(例如华为手机),这样就还需要每个有虚拟按键的设备加多一套 dimensxml 文件,再加上平板那些你会发现 dimensxml 文件所占的体积已经超过 2M 了!这绝对不是我们想要的。

我这里要讲的是使用 sw<N>dp 限定符,即 smallestWidth(最小宽度) 限定符 来进行适配,使用这种方式只需要少量 dimensxml 文件即可达到适配,而且根本不用考虑虚拟按键的问题。如果只适配手机,dimensxml 文件所占的体积只有 100 多 KB,即使加上平板和 TV,也就 500 多 KB,完全可以接收。这种方案已经在自己多个项目中应用过了,经过几十台手机测试过,基本不会出现适配有问题的情况。制作生成对应 dimensxml 文件插件(后面会讲)的作者也说过他在待过的两家大公司实践过,所以请放心使用。

关于为什么要进行屏幕适配,什么是 dp、dpi 这些概念我就不去一一讲解了,网上很多文章。这里我推荐几篇讲的比较好的:

屏幕分辨率限定符适配需要在 res 文件夹下创建各种屏幕分辨率对应的 values-xxx 文件夹,如下图:

然后根据一个基准分辨率,例如基准分辨率为 1280x720,将宽度分成 720 份,取值为 1px~720px,将高度分成 1280 份,取值为 1px~1280px,生成各种分辨率对应的 dimensxml 文件。如下分别为分辨率 1280x720 与 1920x1080 所对应的横向 dimensxml 文件:

假设设计图上的一个控件的宽度为 720px,那么布局中就写 android:layout_width="@dimen/x720" ,当运行程序的时候,系统会根据设备的分辨率去寻找对应的 dimensxml 文件。例如运行在分辨率为 1280x720 的设备上,系统会自动找到对应的 values-1280x720 文件夹下的 lay_xxml 文件,由上图可知 x720 对应的值为

720px,可铺满该屏幕宽度。运行在分辨率为 1920x1080 的设备上,系统会自动找到对应的 values-1920x1080 文件夹下的 lay_xxml 文件,由上图可知 x720 对应的值为 10800px,可铺满该屏幕宽度。这样就达到了屏幕适配的要求!

smallestWidth 限定符适配原理与屏幕分辨率限定符适配原理一样,系统都是根据限定符去寻找对应的 dimensxml 文件。例如程序运行在最小宽度为 360dp 的设备上,系统会自动找到对应的 values-sw360dp 文件夹下的 dimensxml 文件。区别就在于屏幕分辨率限定符适配是拿 px 值等比例缩放,而 smallestWidth 限定符适配是拿 dp 值来等比缩放而已。需要注意的是“最小宽度”是不区分方向的,即无论是宽度还是高度,哪一边小就认为哪一边是“最小宽度”。如下分别为最小宽度为 360dp 与最小宽度为 640dp 所对应的 dimensxml 文件:

ScreenUtils——> ScreenUtils

既然原理都一样,都需要多套 dimensxml 文件,那为什么要选择 smallestWidth 限定符适配呢?

大多数 UI 设计师提供的设计图无非就几种,它们对应的获取方式如下:

这些文件当然不会手动去写,网上已经有大神提供了自动生成这些文件的插件 ScreenMatch 。但是这个插件还是有点问题的:

基于以上问题,我在该插件的源码上优化生成了新的插件 ScreenMatch ,由于插件库已经有原作者的插件了,所以我就不重复造轮子上传到插件库了,你直接用本地安装的方式安装即可。

工具使用步骤:

然后选择在哪个 module 下执行适配。即基于哪个 module 下的 res/values/dimensxml 文件作为基准 dimensxml 文件,生成的其他尺寸 dimensxml 文件放在哪个 module 下。例如选择 app,然后点击 OK ,出现如下界面表示生成文件成功。如下图:

然后再看看 res 目录下会自动生成一堆 dimensxml 文件,如下图:

通过上面的步骤就已经生成了所有设备对应的 dimensxml 文件。

步骤 3 是以插件默认的最小宽度基准值为 360dp,适配的设备最小宽度为

320,360,384,3927272,400,410,4114285,432,480,533,592,600,640,662,720,768,800,811,820,960,961,1024,1280,1365(包含了平板和 TV )生成的文件,但实际情况要根据设计图和需求设置。

例如设计图的最小宽度为 375dp,则需要更改最小宽度基准值为 375dp。如果项目只需要适配手机的话,适配的设备最小宽度保留 320,360,384,3927272,400,410,4114285,432,480 即可,若发现手机还有其他最小宽度自行加上即可,也麻烦把该最小宽度提供给我,我们一起来完善该份适配。

以上修改需要在配置文件里修改,即 screenMatchproperties 文件,该配置文件是执行完上面第 3 步后自动生成在项目的跟目录下的。如下图:

打开配置文件,修改下图中 1、3、4 的值即可。(图中单位均为 dp)

1:最小宽度基准值,填写设计图的最小宽度值即可。

2:插件默认适配的最小宽度值,即默认情况下会生成如下值的 dimensxml 文件。

3:需要适配的最小宽度值(如果是小数,则保留 4 位小数。例如 392727272,则取 3927272),即你想生成哪些 dimensxml 文件。

4:忽略不需要适配的最小宽度值,即忽略掉插件默认生成的 dimensxml 文件。

配置文件修改完成后,重新执行第 3 步,生成新的 dimensxml 文件。

当然!如果你的设计图也是标准的 360dp,那么上面的步骤你可以忽略。直接复制我 github 上你需要的 dimensxml 文件到你的项目即可, 默认的 values 文件夹下也需要一份

设计图标注多少 dp,布局中就写多少 dp ,非常方便!

大多数 UI 设计师提供的设计图无非就几种,它们对应的使用方式如下:

说了这么多,其实只需要简单的 2 步:

很多人肯定会有疑问,难道我用了这套适配方案就可以全部直接写死宽高了?那肯定不是的,如果一些好用的适配技巧能实现的,那就不要用直接写死宽高的方式。这套适配方案搭配下面这些适配技巧可以让你的屏幕适配更完美。

绝对布局(AbsoluteLayout)直接使用 X、Y 坐标来控制控件的位置,对于屏幕碎片化这么严重的今天,使用绝对布局对于屏幕适配来说就是灾难性的,所以 Google 已经废弃了该控件。

相对布局(RelativeLayout)或者约束布局(ConstraintLayout)就不一样了,相对布局的子控件之间使用 相对位置 的方式排列,即使屏幕的大小改变,控件的相对位置也不会变化,与屏幕大小无关,灵活性很强。约束布局也是类似的,通过对某些控件进行约束来确定它们之间的位置。

Nine-Patch 是一种被特殊处理过的 PNG ,你可以指定哪些区域可以拉伸而哪些区域不可以。例如聊天界面中的聊天气泡背景图就需要做成 Nine-Patch ,因为每条消息的字数不是固定的,如果背景不能随着字数的长短进行缩放,那么就会导致背景变形。

因为各种屏幕高宽比并不是固定的,有 16:9、4:3,还有全面屏的 195:9 等等,如果强行将宽高都适配那只会导致布局变形。

例如一个控件的宽高为 360dp 和 640dp,如果将它显示在宽高为 360dp 和 640dp 的设备上是正常铺满整个屏幕的,但是显示在宽高为 360dp 和 780dp 的设备上高度则不能铺满,如果你让高度铺满,而宽度又保持不变,那就会出现变形的情况。所以这也就是为什么目前市面上的屏幕适配方案只能以宽或高一个维度去适配,另一个方向用滑动或权重的方式去适配的原因。

那你为什么说高度也能适配呢?

这里说的高度也能适配指的是在不同分辨率和密度的手机上能达到等比缩放的适配,其他屏幕适配方案也是一样的。

注意:smallestWidth 限定符适配的效果是让不同分辨率和密度的设备上能达到以设计图等比缩放的适配,如果设备与设计图相差太大时并不能达到很好的适配效果,需要单独出图,其他屏幕适配方案也是一样的。

同横屏道理一样,平板、TV 与手机的宽高差距太大,想要平板、TV 也能完全适配,那就只能让设计师出一套平板、TV 的设计图,然后单独写一套平板、TV 的布局文件。

注意:再说一遍,smallestWidth 限定符适配的效果是让不同分辨率和密度的设备上能达到以设计图等比缩放的适配,如果设备与设计图相差太大时并不能达到很好的适配效果,需要单独出图,其他屏幕适配方案也是一样的。

github 地址: ScreenAdaptation

参考资料:

按键精灵手机版记录按键点击次数的方法如下:

1、创建一个名称为"layout1"的布局控件UINewlayout("layout1")'添加一个名称为"运行次数",初始内容为"1"的文字框控件。

2、把UIAddTextView("layout1","运行次数","1")'上面代码放脚本开头,如果你有已设定的界面窗口把上面代码去除,记得把文字框改为运行次数,布局控件名称做相应修改就行了。

3、此处放你的代码下面代码放脚本末尾'获得运行次数文字框的内容然后修改文字框内容为之前的值+1UISetText("运行次数",UIGetText("运行次数")+1)'显示名称为:"layout1"的布局控件。

1 快捷键怎么设置

快捷键怎么设置 电脑的快捷热键怎么设置

1、鼠标右键,选择属性 2、进入属性设置界面,选择快捷方式 3、默认的快捷键是无,鼠标点击输入框,键盘按下自己的快捷键,如下图 4、点击应用确定后,使用设置好的键盘快捷键,即可快速的打开软件了

扩展资料:

1、系统级快捷键可以全局响应,不论当前焦点在哪里、运行什么程序,按下时都能起作用; 2、应用程序级热键只能在当前活动的程序中起作用,当应用程序热键的定义程序不活动或在后台运行时,热键就无效了; 3、控件级的热键则仅在当前控件中起作用。

一般系统和应用程序的快捷键可以按自己的 *** 作习惯进行自定义。

参考资料:

百度百科-快捷键。

如何重新设置电脑中的所有快捷键

无法重新设置电脑系统中的所有快捷键,只能分别设置一些打开软件、功能的快捷键,一些基础 *** 作的快捷键是无法重新设置的。

以下以输入法的快捷键,打开应用程序的快捷键为例,介绍调整系统调整快捷键的方法。以下是详细介绍: 一、设置输入法的快捷键: 1、首先在开始菜单打开控制面板,依次选择区域和语言选项-语言-详细信息,在文字服务和输入语言对话框里单击设置,然后再单击键设置; 2、选择好输入法后单击更改按键顺序(C),接下来选择CTRL这一项,后面的数字系统默认为0,也可以另选自己喜欢的数字,然后点击确定; 3、设置完成后,只需要使用Ctrl+Shift+0快捷键同时按下就可以快速打开上述设置的输入法; 二、设置打开应用程序的快捷键: 1、首先,找到自己想要设置启动快捷键的软件的快捷方式或者启动程序文件; 2、右键点击在菜单栏中选择属性,随后在快捷方式栏中可以看到默认的是无; 3、这里只需按住鼠标上的快捷组合键即可自动的输入的。

比如输入:Ctrl+Alt+Q; 4、点击应用确定保存设置,按下这个快捷键组合就可以快速的打开上述设置的软件和程序了。

快捷键怎么设置才好啊

1、快捷键如下: 移动: W、S、A、D分别是上下左右 跑步/行走: R 属性面板: C 物品栏: B 技能面板: V 系统面板: ESC 日记系统: Q 交易栏: T 邮件系统: E 好友: F 帮派面板: O 组队面板: X 帮助系统: H 小地图开关: M 全景地图: Tab 显示地图上的物品和玩家名字: ~ 喝血瓶: 1 喝精力瓶: 2 喝血精瓶: 3 喝解毒药: 4 技能选择: Z 聊天: Enter 2、技能快捷键的设置 按Z键打开技能选择界面,当前已经学会的技能的图标会显示在屏幕右下角。

将鼠标移到希望设置快捷键的技能图标上,按F1~F7中的任何一个键,即可设定。F8键是取消技能键。

3、因不知道你是属于哪种职业,所以无法帮助你如何更好的设置具体的技能快捷键!~很遗憾!~。

怎么恢复键盘快捷键的设置?

Photoshop快捷键取消当前命令:Esc 工具选项板:Enter 选项板调整:Shift+Tab 打开文件:Ctrl+O关闭文件:Ctrl+W 文件存盘:Ctrl+S 打印文件:Ctrl+P 退出系统:Ctrl+Q 获取帮助:F1剪切选择区:F2 拷贝选择区:F3 粘贴选择区:F4 显示或关闭画笔选项板:F5 显示或关闭颜色选项板:F6 显示或关闭图层选项板:F7 显示或关闭信息选项板:F8显示或关闭动作选项板:F9 显示或关闭选项板、状态栏和工具箱:Tab 全选:Ctrl+A;反选:Shift+Ctrl+I; 取消选择区:Ctrl+D 选择区域移动:方向键将图层转换为选择区:Ctrl+单击工作图层选择区域以10个像素为单位移动:Shift+方向键复制选择区域:Alt+方向键恢复到上一步:Ctrl+Z 剪切选择区域:Ctrl+X 复制选择区域:Ctrl+C 粘贴选择区域:Ctrl+V填充为前景色:Alt+Delete 填充为背景色:Ctrl+Delete 调整色阶工具:Ctrl+L调整色彩平衡:Ctrl+B 调节色调/饱和度:Ctrl+U 自由变形:Ctrl+T 增大笔头大小:“中括号”减小笔头大小:“中括号” 选择最大笔头:Shift+“中括号” 选择最小笔头:Shift+“中括号”重复使用滤镜:Ctrl+F 移至上一图层:Ctrl+“中括号” 排至下一图层:Ctrl+“中括号”移至最前图层:Shift+Ctrl+“中括号” 移至最底图层:Shift+Ctrl+“中括号”激活上一图层:Alt+“中括号” 激活下一图层:Alt+“中括号” 合并可见图层:Shift+Ctrl+E放大视窗:Ctrl+“+”缩小视窗:Ctrl+“-”放大局部:Ctrl+空格键+鼠标单击缩小局部:Alt+空格键+鼠标单击翻屏查看:PageUp/PageDown 显示或隐藏标尺:Ctrl+R 显示或隐藏虚线:Ctrl+H 显示或隐藏网格:Ctrl+“就这些了,希望对您有帮助。

如何有效地设置系统快捷键

Windows *** 作系统中有很多预排程序的热键,当你很着急的时候,这会使你生活变得简单一些。

例如,你可以同时按下Windows徽标键和L键,即Windows徽标键+L键,这样就可以锁定工作站(如果你使用的是Windows XP *** 作系统的话,那么这会切换到欢迎屏幕)。 然而,如果要是缺少了第三方应用程序的支持,想要创建你自己热键快捷方式是非常困难的。

HoeKey可以极大地帮助你解决这个问题。这是一款免费程序,大小仅有12k,现在你就可以在Windows中指定按键的组合方式来实现不同的 *** 作功能,包括对相应的应用程序的 *** 作。

当你第一次运行这个程序的时候,按下Windows徽标键+Q,就可以将其打开,然后点击“Edit Config(编辑配置)”,这样就可以看到它的配置文件,在配置文件中,所有按键分配都被保留。许多用处很广的按键的快捷方式都是以默认值的方式来设置的,比如,Windows徽标键+N就是打开记事本,但是你却可以用这个热键来做更多的事情。

该程序可用的命令库包括移动、隐藏、调整当前窗口大小或改变其透明度,以及向应用程序发送敲击按键的信息,引发对话框的功能,此外,还可以用它来设置打开或关闭CD驱动器的按键。Hoekey能够接受绝大多数多媒体键盘所发出命令,比如静音、快进和暂停等功能键,它也能接受其他一些热键所发出的指令,如打开网络浏览器或者进行搜索。

你可以在Hoekey的网站上找到有关全部按键命令的列表。 由于这个程序非常小,所以有很多功能目前还不能够应用。

例如,在你的键盘上,如果有一个按键似乎没有任何作用,那么我们也不可能使用这个程序来决定对于这个按键的按下动作使用什么样的按键代码。 这就是说,为这个小程序编写更多的功能的可能性是非常大的,而且作者也一直在向该程序中添加更多的新功能。

游戏里技能快捷键怎么设置

登陆游戏后按下F12可以调出技能快捷窗口,再次按下时窗口会消失。

玩家可以把药水和技能等拖放至快捷窗口备用,消耗品类的其他道具也可以拖放至快捷窗口使用。 如何使用: 调出快捷键窗口后打开背包或者技能窗口把物品/技能拖放到快捷键窗口,使用的时候只需要按(F1-F10)功能键就可以了。

另外点击快捷键左边的▲?按钮可以在3个快捷窗口之间进行切换,并且玩家可以将快捷键窗口随意拖动到游戏游戏画面的任意位置。 为了让玩家的 *** 作更加方便,可以在F1-F10设置需要的技能或者道具。

并且可以通过按快捷键来完成 *** 作,这个快捷键窗口最多可以设置30项(3行X10个)。

autojs免root脚本了解下!

一个不需要Root权限的类似按键精灵的自动 *** 作软件,可以实现自动点击、滑动、输入文字、打开应用等。用于编写软件和游戏脚本,解放双手,轻松完成日常自动化工作流任务。

注意:这里的不需要Root权限指的是一般软件,游戏的自动点击等是需要Root权限或者安卓70+的。

特性:

简单易用的自动 *** 作函数

悬浮窗录制和运行

更专业&强大的选择器API,提供对屏幕上的控件的寻找、遍历、获取信息、 *** 作等。类似于Google的UI测试框架UiAutomator,您也可以把他当做移动版UI测试框架使用

采用JavaScript为脚本语言,并支持代码补全、变量重命名、代码格式化、查找替换等功能,可以作为一个JavaScript IDE使用

支持使用e4x编写界面,并可以将JavaScript打包为apk文件,您可以用它来开发小工具应用

支持使用Root权限以提供更强大的屏幕点击、滑动、录制功能和运行shell命令。录制录制可产生js文件或二进制文件,录制动作的回放比较流畅

提供截取屏幕、保存截图、找图找色等函数,可进行简单的游戏脚本制作

可作为Tasker插件使用,结合Tasker可胜任日常工作流

带有界面分析工具,类似Android Studio的LayoutInspector,可以分析界面层次和范围、获取界面上的控件信息

以上就是关于Android 屏幕适配神器ScreenMatch全部的内容,包括:Android 屏幕适配神器ScreenMatch、按键精灵手机版怎么记录按键点击次数、手机快捷键怎么设置等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!

欢迎分享,转载请注明来源:内存溢出

原文地址:https://54852.com/web/10196611.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2023-05-06
下一篇2023-05-06

发表评论

登录后才能评论

评论列表(0条)

    保存