Windows pohone8高级编程http://www.microoh.com/course/22
Windows Phone 8学习准备
随着移动设备的日益发展,移动设备上的开发也迅速的发展起来。周围很多同事都在掌握属于自己的移动设备开发知识,很多人都在搞基于IOS和Android操作系统上的开发。我也想针对我个人的情况,开始学习和了解一下移动设备的开发。
目前,我不想去接触IOS和Android,这并不是说这两种类型的操作系统不好或者不流行,相反,它们很好也很流行。至于目前不想去了解和接触的原因主要是:
我以前没有去关注和了解基于这两种操作系统下的开发;
我没有IOS和Android系统开发的基础知识(到目前为止我没有用过C++和Java去做过项目,也没有用过JavaScript结合Html5去做过项目);
最近微软发布了Windows phone 8,我没有用过Windows phone 8的移动设备,我个人还是比较看好。也准备花些时间去了解一下,说实话我也不知道从什么地方开始入手。园子里面好像这方面的介绍也少了一些。但我相信,园子里面这方面的高手肯定非常多,我希望你们多指教一下。我英文很不好,很多时候都是借助翻译软件去看一些英文资料,所以这对于我去学习Windows phone 8开发又添加了难度,因为现在的中文资料比较的少。
我目前了解的Windows phone 8方面的东西比较少,我在这里针对于我个人对Windows phone 8的了解作一些总结,我希望大家给我更多的帮助。我认为Windows phone 8的开发设计的语言及背景可以从三方面着手:
基于托管框架上的开发,采用C#,Vb作为开发语言。用 XAML 作为 UI 开发,对于以前使用过WPF和Silverlight的人来说,可能开发起来会更顺手一些。我以前对WPF有一定的了解和使用,我也是我选择Windows phone 8的原因之一。
使用C++进行应用开发,需用了解 Direct3D,好处是可以以充分利用手机的图形硬件。 使用JavaScript和Html5 进行应用开发,这也是跨平台的。这一点我还是比较模糊,以后有时间需要去了解。
开发环境我已经搭建好了,我的机器是xx年买的T410,Cpu是i7,这个配置完全符合要求。其实,对于机器硬件和软件的要求,是因为需要利用Windows Phone 模拟器。
大家可以查看Windows Phone 模拟器的系统要求(http://msdn.microsoft.com/zh-cn/library/windowsphone/develop/ff626524(v=vs.105).aspx#system)。
Windows phone 8 Sdk也已经安装完毕,前两天进行了简单的测试,一切顺利。我的操作系统是Windows 8企业版(X64),从淘宝上买了个key,呵呵。
Iphone动画学习总结
一、创建UIView动画(块)--(指过渡效果的动画) 基本方式:使用UIView类的UIViewAnimation扩展。
1、代码示例:
//开始准备动画
[UIViewbeginAnimations:nilcontext:nil];
//定义动画加速或减速方式
[UIViewsetAnimationCurve: UIViewAnimationCurveLinear]; //动画时长
[UIViewsetAnimationDuration: 2.7];
//设置过渡效果
[UIViewsetAnimationTransition: transitionforView: self.view cache: YES];
//动画中所做的改变,改变的obj应与forView中的对应 [self.viewexchangeSubviewAtIndex:
[self.view.subviewsindexOfObject(index1)]
withSubviewAtIndex:
[self.view.subviewsindeOfObject(index2)]
];
//动画结束
[UIViewcommitAnimation];
上面提到的transition参数取值范围:UIView类自身提供四种过渡效果。
UIViewAnimationTranstionNone无过渡
UIViewAnimationTranstionFlipFromLeft 从左到右翻转 UIViewAnimationTranstionFlipFromRight从右到左翻转 UIViewAnimationTranstionCurlUp 从下向上卷 UIViewAnimationTranstionCurlDown 从上向下卷
2、还有另一种形式:
//返回当前视图堆栈顶部的图形上下文
CGContextRef context =
UIGraphicsGetCurrentContext();
[UIViewbeginAnimations: nil context: context]; //以下内容如上
……
二、block方式:使用UIView类的
UIViewAnimationWithBlocks扩展
1、代码示例:
[UIViewanimateWithDuration: 2.7 //动画时长 delay: 2.7 //延迟
options: (UIViewAnimationOptions) options animations: ^(void) {
要做的变化
}completion: ^(BOOL finished) {
变化结束时做些事情
}
];
常见的是其嵌套使用。
三、core方式: 使用CATransition类
1、须知:
CATransition只针对图层,不针对视图。图层是Core Animation与每个UIView产生联系的工作层面。使用Core Animation时,应该将CATransition应用到视图的默认图层([myView layer])而不是视图本身。
使用CATransiton类实现动画,只需要建立一个Core Animation对象,设置它的参数,然后把这个带参数的过渡添加到图层即可。
使用前要引入QuartzCore.framework库,并在相应处添加代码#import <QuartzCore/QuartzCore.h>。
2、代码示例:
//定义动画
CATransition *transition = [CATransition animation]; //间隔时间
transition.duration = 0.5f;
//动画开始与结束的快慢
transition.timingFunction =
[CAMediaTimingFunctionfunctionWithName:kCAMediaTimingFunctionEaseInEaseOut];
//动画效果
transition.type = kCATransitionFade;
//动画方向
transition.subtype = kCATransitionFromRight; transition.delegate = self;
[self.layeraddAnimation: transition forkey:nil]; layer所在图层的变化;
3、CATransition的过渡效果类型:
公开的:
kCATransitionFade 淡化
kCATransitionMoveIn 覆盖
kCATransitionPush 推挤
kCATransitionReveal 揭开
非公开的:
@”cube” 立方体
@”suckEffect”吸收
@”oglFlip” 翻转
@”rippleEffect” 波纹
@”pageCurl” 卷页
@”cameraIrisHollowOpen” 镜头开
@”cameraIrisHollowClose” 镜头关
四、UIImageView自身动画属性
可以方便地实现幻灯片效果
1、代码示例:
//齿轮转动
UIImageView *tmpView = [[UIImageViewalloc] initWithFrame:CGRectMake(133, 118, 50, 50)];
[self.viewaddSubview:tmpView];
tmpView.animationDuration = 0.3;
tmpView.animationImages = tmpArray;
tmpView.animationRepeatCount = 0;
[tmpViewstartAnimating];
[tmpView release];
tmpView参数为数组,存放UIImage对象。
五、其它相关总结
因为在设计动画的过程中,为了体现出视图动态的效果,有些属性和方法我们还需深入了解一下。
1、UIView的frame、bounds、center属性的区别。 frame:该View在父View坐标系中的位置和大小。(参照点是父亲的坐标系统)
bounds:该View在本地坐标系中的位置和大小。(参照点是本地坐标系)
center:该View的中心点在父View坐标系中的位置和大小。(参照点是父亲的坐标系)
2、视图缩放、旋转、移动。
//将视图的大小转变为正常大小的200%
CGAffineTransformnewTransform =
CGAffineTransformMakeScal(2.0, 2.0);
//添加到相应视图中
[btnsetTransform: newTransform];
//视图的旋转
CGAffineTransformnewTransform =
CGAffineTransformMakeRotate(transform, M_PI); 或
CGAffineTransformnewTransform =
CGAffineTransformMakeRotation(-M_PI);
//视图的移动
CGAffineTransformnewTransform =
CGAffineTransformMakeTranslation(width, 0.0);
过去的半年,是个值得珍惜的半年,我们和刚入学的大一的新生有很大不同。虽然我们也是来到联合大学的第一年,但是我们已经经历了三年的大专…
温州市业主和谐生活研究会鹿城区业主委员会协会20xx年年会工作报告尊敬的各位领导、各位来宾、女士们、先生们:晚上好!首先,热烈祝贺…
20xx年度出厂水泥管理工作总结20xx年是不平常的一年,在公司领导的关心和重视下,在质量部部长的正确领导下,在全体员工的支持配合…
今年以来,市场运行调节科的工作在局领导和省厅调节处的直接领导下,在各企业支持、信息员的共同努力下,较好的完成了各项工作任务。现将工…
总结对于我们初次接触项目的人,来说本项目,是我们自学能力的一次测试(有些东西自己从来没有接触过),也是对我们所学的基础知识的测试。…