当前位置: 编程技术>移动开发
本页文章导读:
▪在Titanium中创办Tooltip 在Titanium中创建Tooltip
在这篇文章中将说明如何在使用Titanium开发的iPhone应用中创建tooltip!有时候我们会在导航栏上放置一个图片按钮,但是一个简单的图片按钮还不能够完全让用户理解这.........
▪ onSaveInstanceState(Bundle outState)的调用天时 onSaveInstanceState(Bundle outState)的调用时机
Activity的方法onSaveInstanceState(Bundle outState),按照文档里说的,这个方法是在内存不够时,系统要强制杀掉这个Activity时,进行调用的。
但经过我的测.........
▪ Appcelerator公司是不是会在第4次收购时考虑Impact? Appcelerator公司是否会在第4次收购时考虑Impact?!
目前的JavaScript游戏引擎可以说是琳琅满目,覆盖了各个方面,可以说是无所不能。以下文章总结了包括3D、动画、 Canvas、Math、颜色、声音、W.........
[1]在Titanium中创办Tooltip
来源: 互联网 发布时间: 2014-02-18
在Titanium中创建Tooltip
在这篇文章中将说明如何在使用Titanium开发的iPhone应用中创建tooltip!
有时候我们会在导航栏上放置一个图片按钮,但是一个简单的图片按钮还不能够完全让用户理解这个按钮的用途。
例如:
rightNavButton 按钮点下后会有什么动作呢?这是一个ebook阅读器的app.
以下的效果如何呢:
这样用户就知道了,当我点下这个按钮的时候是继续阅读文章呢。
那么这样的效果在Titanium中是如何做出来的呢?
tooltip其实是一个设置了tip图像的背景的简单的view。
把“Continue reading” label添加到这个view中。
然后把这个tip view添加到index窗口中。(当然前提是我们已经创建好了index_win。)
现在当我们打开index_win的时候,tooltip就会被显示出来,用户就知道rightNavButton是做什么的呢。但是如果tooltip一直显示在那里的话,我们就需要想办法隐藏它。以下代码创建了一个动画,在click事件中将他显示出来。
【原文】http://cssgallery.info/create-a-nifty-tooltip-in-titanium/
这第三个参数也太直接了把,这样岂不容易造成OOM?
在这篇文章中将说明如何在使用Titanium开发的iPhone应用中创建tooltip!
有时候我们会在导航栏上放置一个图片按钮,但是一个简单的图片按钮还不能够完全让用户理解这个按钮的用途。
例如:
rightNavButton 按钮点下后会有什么动作呢?这是一个ebook阅读器的app.
以下的效果如何呢:
这样用户就知道了,当我点下这个按钮的时候是继续阅读文章呢。
那么这样的效果在Titanium中是如何做出来的呢?
tooltip其实是一个设置了tip图像的背景的简单的view。
var lasttipView = Titanium.UI.createView({ width:205, height:57, backgroundImage:"img/bubble.png", top:0, right:3 });
把“Continue reading” label添加到这个view中。
var lasttipLabel = Titanium.UI.createLabel({ text:'Continue reading', color:'#fff', width:205, height:34, top:16, font:{ fontFamily:'Helvetica Neue', fontSize:13, fontWeight:'bold' }, textAlign:'center' }); lasttipView.add(lasttipLabel);
然后把这个tip view添加到index窗口中。(当然前提是我们已经创建好了index_win。)
index_win.add(lasttipView);
现在当我们打开index_win的时候,tooltip就会被显示出来,用户就知道rightNavButton是做什么的呢。但是如果tooltip一直显示在那里的话,我们就需要想办法隐藏它。以下代码创建了一个动画,在click事件中将他显示出来。
var anim_out = Titanium.UI.createAnimation(); anim_out.opacity=0; anim_out.duration = 250; last_read = Titanium.UI.createButton({ image:"img/tag1.png" }); last_read.addEventListener('click', function() { lasttipView.animate(anim_out); }); index_win.setRightNavButton( last_read );
【原文】http://cssgallery.info/create-a-nifty-tooltip-in-titanium/
1 楼
larry1314mvp
2012-02-15
Do you have some information about upload file in titanium.
2 楼
rensanning
2012-02-15
以下是上传相册视频和图片的简单例子:
Titanium.Media.openPhotoGallery({ allowEditing:true, mediaTypes:[Ti.Media.MEDIA_TYPE_VIDEO,Ti.Media.MEDIA_TYPE_PHOTO], success:function(event) { if (Titanium.Network.online == false) { return; } var xhr = Titanium.Network.createHTTPClient(); xhr.onerror = function(e) { Ti.API.error(e.error); } xhr.onload = function() { if (this.status == 200) { alert(this.responseText); // TODO callback } else { alert("ERROR:" + this.status); } } xhr.open("POST", "《SERVER URL》", true); xhr.setTimeout(10000); xhr.send({var1:123, var2:456, file:event.media}); }, cancel:function() { }, error:function(error){ } });
3 楼
larry1314mvp
2012-02-17
rensanning 写道
以下是上传相册视频和图片的简单例子:
Titanium.Media.openPhotoGallery({ allowEditing:true, mediaTypes:[Ti.Media.MEDIA_TYPE_VIDEO,Ti.Media.MEDIA_TYPE_PHOTO], success:function(event) { if (Titanium.Network.online == false) { return; } var xhr = Titanium.Network.createHTTPClient(); xhr.onerror = function(e) { Ti.API.error(e.error); } xhr.onload = function() { if (this.status == 200) { alert(this.responseText); // TODO callback } else { alert("ERROR:" + this.status); } } xhr.open("POST", "《SERVER URL》", true); xhr.setTimeout(10000); xhr.send({var1:123, var2:456, file:event.media}); }, cancel:function() { }, error:function(error){ } });
这第三个参数也太直接了把,这样岂不容易造成OOM?
[2] onSaveInstanceState(Bundle outState)的调用天时
来源: 互联网 发布时间: 2014-02-18
onSaveInstanceState(Bundle outState)的调用时机
Activity的方法onSaveInstanceState(Bundle outState),按照文档里说的,这个方法是在内存不够时,系统要强制杀掉这个Activity时,进行调用的。
但经过我的测试,发现这个方法并不是在系统内存不够时,要杀掉Activity时,才调用的。
测试结果:
1. 只要Activity不finish,Activity进入后台(比如Home键,跳转到其他的Activity),则其就会调用onSaveInstanceState(Bundle outState)方法,而且这个方法是在onPause方法之间进行调用的。
2. 如果Activity是执行了finish方法,才进入的后台,则不调用这个onSaveInstanceState(Bundle outState),而且下次再进入时,也不会使用这个保存的数据。
3. 在系统杀掉Activity所在的进程时,onSaveInstanceState(Bundle outState)方法根本就没有调用过。
总结:系统在杀进程时,不可能有时间去执行多余的代码,也只有这种方法,才能保存Activity里的最新数据,所以onSaveInstanceState(Bundle outState)会被执行多次,并不是只有一次。
[3] Appcelerator公司是不是会在第4次收购时考虑Impact?
来源: 互联网 发布时间: 2014-02-18
Appcelerator公司是否会在第4次收购时考虑Impact?!
目前的JavaScript游戏引擎可以说是琳琅满目,覆盖了各个方面,可以说是无所不能。以下文章总结了包括3D、动画、 Canvas、Math、颜色、声音、WebGL等方面66个JavaScript Game Engine.
66+ Open Source JavaScript Game Engine for Serious Developers
在GitHub上也有关于JavaScript Game Engine的一个详细列表:
Game Engines @ GitHub
值得关注的是,目前的Titanium在娱乐应用方面的发展真的是不尽人意。从移动应用目前的发展趋势,基础工具->娱乐休闲->商务应用->...... 目前的基础工具方面的应用已经初具规模,而娱乐休闲方面的应用必定是2,3年内的一个发展趋势。相信Appcelerator公司的CEO Jeff Haynie也不会轻易放弃这么大的一块市场。Impact、enchantjs、Crafty、Cocos2D、Box2D等一大批优秀的JavaScript Game Engine是否会是Appcelerator公司猎物呢?
值得一提的是,德国人Dominic Szablewski在2010年发布Impact,一个相当专业的JavaScript Game Engine,它能帮助你方便快捷的开发基于HTML5游戏(不管是桌面版还是手机版的浏览器)。该引擎还有一个功能丰富的Weltmeister关卡编辑器,不管是多么复杂的游戏,Weltmeister都可以帮助你实现它。
在作者的个人博客http://www.phoboslab.org/上,也公布了自发布后一个月内的销售记录:
Appcelerator公司收购Impact将Dominic Szablewski招之麾下,将会是一个不错的选择!
当然,Titanium和PhoneGap等开发平台在本质的区别是是否产生原生代码?有趣的是Adobe在收购PhoneGap之后,有意让用户选择使用Adobe Air 和Flash。
看看Appcelerator公司是否会继Aptana、Particle Code、Cocoafish之后,在第4次收购中将Impact拿下,从而加大Titanium的游戏娱乐功能!
期待吧!!!
目前的JavaScript游戏引擎可以说是琳琅满目,覆盖了各个方面,可以说是无所不能。以下文章总结了包括3D、动画、 Canvas、Math、颜色、声音、WebGL等方面66个JavaScript Game Engine.
66+ Open Source JavaScript Game Engine for Serious Developers
在GitHub上也有关于JavaScript Game Engine的一个详细列表:
Game Engines @ GitHub
值得关注的是,目前的Titanium在娱乐应用方面的发展真的是不尽人意。从移动应用目前的发展趋势,基础工具->娱乐休闲->商务应用->...... 目前的基础工具方面的应用已经初具规模,而娱乐休闲方面的应用必定是2,3年内的一个发展趋势。相信Appcelerator公司的CEO Jeff Haynie也不会轻易放弃这么大的一块市场。Impact、enchantjs、Crafty、Cocos2D、Box2D等一大批优秀的JavaScript Game Engine是否会是Appcelerator公司猎物呢?
值得一提的是,德国人Dominic Szablewski在2010年发布Impact,一个相当专业的JavaScript Game Engine,它能帮助你方便快捷的开发基于HTML5游戏(不管是桌面版还是手机版的浏览器)。该引擎还有一个功能丰富的Weltmeister关卡编辑器,不管是多么复杂的游戏,Weltmeister都可以帮助你实现它。
在作者的个人博客http://www.phoboslab.org/上,也公布了自发布后一个月内的销售记录:
Appcelerator公司收购Impact将Dominic Szablewski招之麾下,将会是一个不错的选择!
当然,Titanium和PhoneGap等开发平台在本质的区别是是否产生原生代码?有趣的是Adobe在收购PhoneGap之后,有意让用户选择使用Adobe Air 和Flash。
看看Appcelerator公司是否会继Aptana、Particle Code、Cocoafish之后,在第4次收购中将Impact拿下,从而加大Titanium的游戏娱乐功能!
期待吧!!!
最新技术文章: