CrossAPP第一课
来源:互联网 发布:网络大电影众筹平台 编辑:程序博客网 时间:2024/06/07 01:50
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第一课
- CrossApp
- CrossApp简介
- crossApp部署到Eclipse
- CrossApp类结构图
- crossApp初级-HelloWorld-3
- crossApp初级-CAIamgeView-6
- crossapp CANavigationController使用
- crossapp CADrawerController控件使用
- crossapp CATabBarController使用
- CrossApp环境搭建
- crossapp CADrawerController 两个坑
- CrossApp推出移动应用开发神器 CrossApp Style
- 新手CrossApp 之CAAlertView小结
- 新手CrossApp 之CAbutton小结
- 新手CrossApp 之CollectionView小结
- 新手CrossApp 之IndicatorView小结
- 新手CrossApp 之ScrollView小结
- 修改应用程序图标和app名称
- 从捋清想法到变成文字中间有多远?
- STL set的总结
- 【Java】Java中多态的实现
- 自定义View2 ,自定义路径,bitmap图像处理(缩放,翻转之类,还有Matrix和Mode)
- CrossAPP第一课
- 左值的定义和i++,++i
- poj1321
- hdu5128The E-pang Palace dfs暴力
- SINGLE NUMBER I & II & III
- C++面试题
- 看《暗杀》全智贤 去杀人都能美成神
- iOS国际化---跟随系统语言
- hdu5444 Elven Postman 二叉树建树