1:坐标系:

CrossApp采用的坐标系是屏幕坐标系,即左上角为原点,向右为X轴增长方向、向下对应Y轴增长方向

视图类CAView是整个CrossApp引擎最基本的类,负责将各式各样的界面呈现出来,我们在App中所能看见的的一切界面其实就是一个个CAView的组合。CAView负责在屏幕上定义矩形区域,在展示用户界面及响应用户界面交互方面发挥关键作用。每个视图对象要负责渲染试图矩形区域中的内容,并响应该区域内发生的操作事件,视图是应用程序用户交互的重要机制。
除了显示内容和处理事件之外,试图还可以管理一个或多个子视图。我们可以在一个view上面添加多个子view,而作为父view,即父节点,负责管理其直接子视图,并根据需要调整他们的位置和尺寸,以及响应他们没有处理的事件。
        根据类说明我们可以得出以下结论:1、所有能看到的都是CAView的派生类。2、CAView上面可以添加子CAView。3、父节点管理子视图

坐标系有3个属性 Frame Bounds Center,Bounds就是说不能缩放,cocos2d-x当中也有这个类似的;

2:屏幕适配:

PX:pixels,就是绝对像素。大小固定,不会随着屏幕不同而改变

PPI:Pixels Per Inch所表示的是每英寸所拥有的像素(Pixel)数目。因此PPI数值越高,即代表显示屏能够以越高的密度显示图像。当然,显示的密度越高,拟真度就越高。

DPI:每英寸所包含的点,在Android设备上,通常以DPI来表示设备屏幕的显示精细度。通常情况下,PPI和DPI可以表示同一个概念,PPI主要针对显示设备,DPI更多应用于打印输出设备,但都表示每英寸所包含的像素点

CrossApp提供的dip与px相互转换
将dip转为px
_px(float dip):static inline float _px(float dip) { return dip * CAApplication::getApplication()->getAdaptationRatio(); }
将px转为dip
_dip(float px):static inline float _dip(float px) { return px / CAApplication::getApplication()->getAdaptationRatio(); }

CrossApp提供的Dip类型数据
CADipPoint:点
CADipSize:面积
CADipRect:区域(包含一个点位点和面积)

void FirstViewController::viewDidLoad()
{// Do any additional setup after loading the view from its nib.//获得屏幕的Bounds  大小不缩放CCRect winRect = this->getView()->getBounds();//获得屏幕的大小  CADipSize里面进行了适配处理CADipSize winSize = winRect.size;//CAView* winView = CAView::createWithColor(CAColor_green);//设置 FramewinView->setFrame(CADipRect(0,0,winSize.width,winSize.height));//添加到根节点this->getView()->addSubview(winView);CAView*  winView2 = CAView::createWithColor(CAColor_yellow);//尽量  按比例添加  不要写 400,500等数字,不然屏幕大小变了之后,winView2不会按比例跟着变化winView2->setFrame(CADipRect(0, winSize.height - winSize.height / 3, winSize.width / 3, winSize.height / 3));this->getView()->addSubview(winView2);CAView*  winView3 = CAView::createWithColor(CAColor_red);//winView3->setFrame(CADipRect(winView2->getFrame().size.width,winSize.height - winView2->getFrame().size.height - winSize.height / 3,winSize.width / 3, winSize.height / 3));this->getView()->addSubview(winView3);}

CrossAPP第一课相关推荐

  1. c语言 字母 八进制表示'/1011',C语言C语言第一课:C语言概述为什么学习C语言怎样学习C语言.DOC...

    [摘要]C语言 第一课: C语言概述 为什么学习C语言 怎样学习C语言 参考资料 ----------------------------------------------------------- ...

  2. 【JavaScript从入门到精通】第一课 初探JavaScript魅力-01

    第一课 初探JavaScript魅力-01 JavaScript是什么 如今我们打开一个大型的网站,都会有很多JS效果的功能和应用.对于学过CSS+HTML的同学,即使是像淘宝那样的网站,用一两天时间 ...

  3. 什么是优秀管理者的第一课?【如何搞垮一个企业】

    什么是优秀管理者的第一课?[如何搞垮一个企业]                                           文 韩宇斌 <道德与企业成败 [如何搞垮一个企业.序]> ...

  4. 三层代码讲解--第一课

    主题:三层代码讲解--第一课 主持人:老吴 时间:2004-05-24 2004-05-24 10:47:00 天之痕_若虹(86278566) 請教大家一個問題好嗎 2004-05-24 10:47 ...

  5. Web 探索之旅 | 第二部分第一课:客户端语言

    -- 作者 谢恩铭 转载请注明出处 Web探索之旅 | 第二部分 第二部分第一课:客户端语言 第二部分第二课:服务器语言 第二部分第三课:框架和内容管理系统 第二部分第四课:数据库 第二部分第五课:响 ...

  6. LINUX-Shell第一课

    LINUX-Shell第一课 1.通过一个小例子进行一下介绍shell #!/bin/sh调用sehll echo 打印内容   read 输入内容  cd 跳转目录  pwd查看当前目录 2.定义两 ...

  7. java day01第一课java简介

    java简介 个人简介 陈杜杰 联系方式:18227288633 从事java后台开发三年多,在创业公司和国企做过开发 熟悉JAVA.HTML.JS.CSS等语言 教学方式: 1.尊重学生,希望学生是 ...

  8. 妙味课堂——HTML+CSS(第一课)

    一句话,还记忆不如烂笔头,何况还这么笨,记下笔记,也是记录这一路学习的过程. 妙味课堂第一课并未一味地先讲HTML,而是穿插着CSS讲解,这一点不同于一些其他视频,这一点挺特别的!所以这一课涉及到HT ...

  9. 0.0 目录-深度学习第一课《神经网络与深度学习》-Stanford吴恩达教授

    文章目录 第五课 第四课 第三课 第二课 第一课 第五课 <序列模型> 笔记列表 Week 1 循环序列模型 Week 1 传送门 -> 1.1 为什么选择序列模型 1.2 数学符号 ...

  10. Coursera公开课笔记: 斯坦福大学机器学习第一课“引言(Introduction)”

    Coursera公开课笔记: 斯坦福大学机器学习第一课"引言(Introduction)" 注:这是我在"我爱公开课"上做的学习笔记,会在52opencours ...

最新文章

  1. springboot-springmvc-requestParam
  2. 在图片中如何生成带有文字边缘空心字体?
  3. Jenkins入门总结
  4. POJ-1556 The Doors 线段相交+最短路
  5. python什么时候用进程什么时候用线程_Python多线程/多进程释疑:为啥、何时、怎么用?...
  6. CSP学习之ASN.1编码(一)
  7. java 封装dll_java调用C#封装的DLL文件
  8. Android ImageView(插入图片)属性详解
  9. 上海财经大学计算机考研好不好,五所不错的财经类大学,不歧视,不压分,你会考虑吗?...
  10. 永恒之蓝(MS17010)漏洞复现
  11. bada开发tips
  12. Linux led_class子系统
  13. 腾讯校园招聘--一面(技术1对1)面经
  14. 微信公众平台开发教程Java版(一)环境准备篇
  15. Dubbo的基本使用
  16. GIF动图拆分为多个静态图片
  17. 2008年全国337个地级市GDP排名
  18. 分布式+ARM:云和恩墨zData与华为TaiShan服务器完成兼容性认证测试
  19. 如何从零开始制作一款日式AVG游戏
  20. Windows 10上用AutoHotkey实现快速隐藏/显示桌面图标与切换虚拟桌面

热门文章

  1. Windows无法启动 VMware Workstation server错误1068依赖服务或组无法启动
  2. C++沉思录中文版pdf
  3. 计算机毕设中期检查表怎么写,[毕业论文中期检查表(精选多篇)] 毕业论文中期检查表怎么写...
  4. 【爬虫】微博数据采集
  5. 计算机硬件故障的相关知识,电脑常见硬件故障大全
  6. 以太坊:用 Solidity 写测试用例
  7. imports build constraints exclude all Go files in
  8. 模电笔记快速整理之《模拟电子技术基础(第四版)》上海交大网课版 1-2章
  9. Tracert 工作原理
  10. 7z解压crc错误_7-Zip - 常见问题解答(FAQ)