




已阅读5页,还剩1页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
Titanium中的自定义View模块Porject做成根据Titanium中Android模块开发指南的内容,大家应该能很容易的创建一个Module的模板工程。引用titaniumcreate-platform=android-type=module-name=ColoredView-id=net.siso9to.coloredview-android=$HOME/devel/android-sdk-mac_x86将做成好的模板工程导入到Eclipse中,Module的准备工作就算完成了。Module做成导入的模板工程的包目录下,有两个类文件:ColoredviewModule.javaExampleProxy.java这样原封不动的也是没有问题的,但是我们看到类名中view的第一字母小写了,不是很符合规范,所以我们使用重构功能将类名修改为:ColoredViewModule.java。使用Eclipse的重构功能的话,注解位置部分Java代码Kroll.module(name=Coloredview,id=net.siso9to.coloredview)的name参数没有给重命名,所以这里需要手动修改。还有就是类中不用的方法,注释等都删去,ExampleProxy.java也要重写做一个,所以也一并删去。修改之后的ColoredViewModule.java的内容是一下这个样子的:Java代码packagenet.siso9to.coloredview;importorg.appcelerator.kroll.KrollModule;importorg.appcelerator.kroll.annotations.Kroll;importorg.appcelerator.titanium.TiContext;Kroll.module(name=ColoredView,id=net.siso9to.coloredview)publicclassColoredViewModuleextendsKrollModulepublicColoredViewModule(TiContexttiContext)super(tiContext);这样就留下来了最低限度代码的Module。自定义View做成要做成自定义View,需要创建一个继承了TiUIView的类。然后,自定义View的时候,还需要再TiUIView的子类中生成View实例,调用setNativeView()方法将该子类保存。Java代码packagenet.siso9to.coloredview;xy.TiViewProxy;importorg.appcelerator.titanium.view.TiUIView;importandroid.content.Context;importandroid.graphics.Color;importandroid.view.View;publicclassColoredViewextendsTiUIViewpublicclassCostomViewextendsViewpublicCostomView(Contextc)super(c);this.setBackgroundColor(Color.GREEN);publicColoredView(TiViewProxyproxy)super(proxy);CostomViewcostomView=newCostomView(proxy.getContext();setNativeView(costomView);Proxy做成最后,要做成一个能偶再Module中调用刚才做成的自定义View的Proxy类。调用刚才做成的自定义View的Proxy类在做成的时候,需要继承TiViewProxy,然后,实现createView(Activityactivity)方法,将自定义View的实例类返回。Java代码packagenet.siso9to.coloredview;importorg.appcelerator.kroll.annotations.Kroll;importorg.appcelerator.titanium.TiContext;xy.TiViewProxy;importorg.appcelerator.titanium.view.TiUIView;importandroid.app.Activity;Kxy(creatableInModule=ColoredViewModule.class)publicclassColoredViewProxyextendsTiViewProxyprivateColoredViewcoloredView;publicColoredViewProxy(TiContexttiContext)super(tiContext);OverridepublicTiUIViewcreateView(Activityactivity)coloredView=newColoredView(this);returncoloredView;在构造函数中,通过setBackgroundColor(Color.GREEN)的设置,View的背景色就被设置上了。需要注意的地方是,再做成Proxy类的时候,需要像以下这个样子将注解的creatableInModule值设置成和Module名一样。Java代码Kxy(creatableInModule=ColoredViewModule.class)确认动作的Script做成做好了Module之后,我们需要确认以下该Module是否能正常的运行,是否能达到我们需要的效果。在确认Module的效果前,我们需要将Module集成到我们的Titanium当中来,使用example文件夹下的app.js就能确认Module的效果。稍微修改一下通过Titanium命令生成的example/app.js:Js代码varwindow=Ti.UI.createWindow(backgroundColor:white);varlabel=Ti.UI.createLabel();window.add(label);window.open();varmodule=require(net.siso9to.coloredview);Ti.API.info(moduleis=+module);varview=module.createColoredView(top:100dp,width:100dp,height:100dp,color:#000,);window.add(view);从Module经由Proxy调用自定义View时,并不是直接的调用Proxy的createView方法,而是向上面代码这样:create+Proxy名(去除Proxy)确认动作的Script的运行修改完app.js之后,通过ant我们来运行这个script。在build.xml文件上点击右键,选择DebugAs2AntBuild.在表示出来的Ant的Task一览中,我们选择clean和run。如果只是选择ruan的话
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
评论
0/150
提交评论