什么是UI元素的相对自适应

  UI元素的相对自适应,顾名思义,是指两个UI元素之间保持一种相对的位置不要变化,例如,UI元素A永远处于UI元素B右边的50像素处位置。再比如,一个UI背景框,不论屏幕尺寸怎么变化,框的左边缘永远距离屏幕左边100像素,框的右边缘永远距离屏幕右边100像素。

Anchors的介绍及使用

  Anchor的主要作用是一个组件,它将会自动去寻找摄像机的边缘和中心点一共9个点,以此作为基准点进行定位适配。而Anchors(为了 区分,以下皆用相对Anchors来形容)是每一个UI控件都会附带的选项,它能为每一个UI控件设定绑定对象和绑定的方式。默认情况下为none,意味着控件默认情况下无相对定位。

  Anchors设置:

    Type为Anchors定位的类型,一共有None(默认状态,无相对定位)、Unified(统一的标准定位)、Advanced(高级定位)。统一的标准定位和高级定位之间的区别在于,高级定位能够有更加复杂的定位设置,但它们的定位原理是一样的。

    Execute选项为设定相对定位执行的时机,一共有3个选项可以选择:OnUpdate、OnEnable和OnStart,Update、Start、OnEnable是Unity中脚本自动执行的函数,如果选择了OnUpdate,则这个空间的定位会随着每一帧去进行更新,如果选择了OnEnable,那么意味着这个空间只会在激活的时候更新一次定位,然后不再更新,直到下次激活再进行更新,如果选择了OnStart,那么这个控件在场景加载之后只会更新一次相对定位信息。一般来说,为了节省性能有照顾需求,会选择OnEnable。

    Target选项为这个控件相对位置选取的参照物,也就是这个控件以哪一个物体作为锚点来进行相对位置的绑定。

    下面的4个选项:Left、Right、Bottom、Top。它们的作用是设置这个控件的4个边的对位信息,在每个选项旁边的下拉菜单中选择Target's Center(以目标点的中心点作为参照)等目标体身上的参照点,最右边的数字表示的是像素偏移,加号为向X轴正向偏移一定像素,减号为向X轴负向参照目标点偏移一定像素。

    Anchors适配的核心原理为:为该控件的4条边分别设定相对位置的参照点,这个参照点可以选择参照物体身上的中点、左边点灯,然后设定一定量的偏移像素。这样当相对Anchors执行时,控件的4条边会分别按照定位信息朝4个方向"拉扯控件",来达到相对位置适配的效果。所以,Anchors本质上市点对点的(自身控件的4条边的终点,分别去对应一个参照点)。

    Anchors的Advance模式比Unified多了一些功能,可以给控件的4边分别设置不同的参照物。

使用Anchors的注意事项

  (1)Anchors需要对每个控件都进行详细的锚点定位设置,工作量巨大,所以,在没有必要的情况下,尽量用Anchor组件,可以减少很多工作量。

  (2)使用Anchors时一定要切记它在屏幕分辨率变化的情况下,很可能会导致控件形变(控件4边被拉发生变形)。

  (3)如果一定要使用Anchors,又不希望它形变,就将Anchors的4边定位都以目标物体的同一个点(如Target's Center)作为参照点。

UI元素的相对自适应的更多相关文章

  1. CSharpGL(6)在OpenGL中绘制UI元素

    CSharpGL(6)在OpenGL中绘制UI元素 2016-08-13 由于CSharpGL一直在更新,现在这个教程已经不适用最新的代码了.CSharpGL源码中包含10多个独立的Demo,更适合入 ...

  2. 【Win 10 应用开发】打印UI元素

    Windows App支持将UI界面进行打印的功能,这与浏览器中的打印网页的用途相近,其好处就是“所见即所得”,直接把界面上呈现的内容打印下来,比重新创建打印图像方便得多. 要在通用App中实现打印, ...

  3. 10套免费的 Photoshop UI 元素以及 PSD 素材

    免费的 PSD 用户界面工具包以及可以编辑 Photoshop PSD 文件,有你需要的设计漂亮的用户界面和惊人使用体验.这些用户界面工具包可有免费下载,可随意定制的,而且这些 PSD 分层素材文件组 ...

  4. 怎样进行Android UI元素设计

    Android UI元素里面包含了许多的内容,比如:该平台由操作系统.中间件.用户界面和应用软件组成,一个应用程序要想受用户喜爱,那么UI可不能差. Android为相似的编程名词引入了一些新的术语, ...

  5. 使用float属性布局时父元素高度不能自适应的解决方法

    在网页的布局过程中,经常会用到float属性来实现页面的左右布局,但是有个问题就是父元素的高度并不能根据子元素的高度自适应.比如下面这段代码: <!DOCTYPE html> <ht ...

  6. appium— Android定位webView里面的UI元素

    Android SDK中的UIAutomator中本身是不支持网页中的UI元素定位,下面介绍几种常用的定位app内部的网页的UI元素的方法. 一.使用chrome浏览器调试移动端网页 这是使用最多的一 ...

  7. 动态控制C4C UI元素的显示和隐藏

    C4C UI上UI元素的显示和隐藏可以通过Key User在Adaptation模式里通过编辑一些简单的rule去控制,诸如这种格式: if ( logic expression = true ) t ...

  8. css 选择器 & UI元素的伪类选择器 & 伪元素选择器

    UI元素的伪类选择器 1. :focus  用来选取获取焦点事件 2. :enabled 用来指定当元素处于可用状态时的样式 3. :disable  用来指定元素处于不可用时的状态    表单里应用 ...

  9. 巧用Drawable 实现Android UI 元素间距效果

    源文地址: 巧用Drawable 实现Android UI 元素间距效果 在大部分的移动UI或者Web UI都是基于网格概念而设计的.这种网格一般都是有一些对其的方块组成,然后它们组合成为一个块.使用 ...

随机推荐

  1. HDU 1241 Oil Deposits (DFS/BFS)

    Oil Deposits Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 65536/32768 K (Java/Others)Tota ...

  2. [改善Java代码]避免在构造函数中初始化其他类

    建议35: 避免在构造函数中初始化其他类 构造函数是一个类初始化必须执行的代码,它决定着类的初始化效率,如果构造函数比较复杂,而且还关联了其他类,则可能产生意想不到的问题,我们来看如下代码: publ ...

  3. 高可用软件Keepalived

    关于高可用软件Keepalived的使用及配置请参见:http://www.voidcn.com/blog/9124573/article/p-5990263.html

  4. loadrunner做webservice接口之简单调用

    今天听大神讲了webservice做接口,我按照他大概讲的意思自己模拟实战了下,可能还有很多不对,一般使用webservice做接口,会使用到soapui,但是用了loadrunner以后发现lr很快 ...

  5. codevs4373 窗口==poj2823 Sliding Window

    Sliding Window Time Limit: 12000MS   Memory Limit: 65536K Total Submissions: 53676   Accepted: 15399 ...

  6. show/hide

    <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8&quo ...

  7. JS中的原型继承和多重继承

    概念:1原型继承是创建新类型对象----子类型,子类型基于父类型,子类型拥有父类型所有的属性和方法(从父类型继承得到),然后修改其中的部分内容或者添加新的内容.继承最好在子类型模型可以被视为父类型对象 ...

  8. ActiveMQ(5.10.0) - Configuring the Simple Authentication Plug-in

    The easiest way to secure the broker is through the use of authentication credentials placed directl ...

  9. 利用ExpandableListView和gridview 显示可展开折叠菜单导航

    这篇随身笔带来的是结合聚合数据“菜谱大全”做的一个菜谱可折叠一级+二级列表. 先发来一些截图一睹为快吧. ExpandableListView 可用于折叠型菜单列表,其布局主要通过getGroupVi ...

  10. mvc中的webapi

    MVC中 webapi的使用 和 在其他网站中如何来调用(MVC) 1.webapi的路由规则注册在App_Start\WebApiConfig.cs文件中 2.webapi控制器继承父类 apiCo ...