Titanium系列--利用Titanium开发android App实战总结
1. Titanium中,通过ImageView Controller 显示图片,图片地址要放在app/assets下,然后自己建一个文件夹,把图片放在这里。如下图,然后alloy代码:<ImageView image="/lib/welcome.png" /> 完事。

2. 图片没有占满整个屏幕?--没关系,在tss文件中, width: Ti.UI.FILL 即可。
3.弄登陆窗口 --第一次尝试,说不让在<window>中嵌套<window>
--解决方案:
<View id="login_welcome" backgroundImage="/lib/welcome.png">
<ImageView id="login_background" image="/lib/login/login_background.png"></ImageView>
</View>
4.设置button,visible为隐藏,调整位置 --设置为隐藏的话,按钮不能用了
--解决方案:添加个登陆按钮图片,给图片设置onClick事件
<ImageView id="btn_login" onClick="do_login"></ImageView>
tss:
"#btn_login":{
top:234,
width:120,
height:30
}
js: function do_login(e){
alert("welcome");
}
5.点击登陆按钮,跳转到主界面,在index.js页面写调转方法
js: function do_login(e){
var main_win = Alloy.createController('main').getView();
main_win.open();
}
6.给各个图标添加点击事件:这里只能用button了,因为用图片的话,重叠部分被点击了可能会悲剧。
遇到了一个问题:Message: Uncaught TypeError: Object #<View> has no method 'open'
--解决办法:这是因为在新创建的xml文件中,没有window对象,所以不能使用open方法。添加window对象后,成功解决。
7.将button 按钮隐藏:backgroundColor:'transparent'
8.用ScrollView实现图片滚动效果
设置scrollView的contentWidth和width,则只允许为垂直滚动。
<ScrollView id="scroll_view" contentWidth="auto" width="100%">
<ImageView id="back" image="/lib/back.png"></ImageView>
<ImageView id="in_house_image" image="/lib/main_page/in_house_image.png" width="100%"></ImageView>
</ScrollView>
9.设置返回按钮,这里有一个问题,按钮图片被别的图片盖住了?--通过查官方文档,了解到这里有一个 zIndex属性,该属性的值为number类型,值越大,它的对象的显示层级越高,也就是会盖住比它值小的 元素,不定义该属性,默认zIndex值为0。所以设置一下这个属性就完美解决这个问题了。
10.点击返回按钮,返回上级窗口--
function back(e){
Alloy.createController('main').getView().open();
}
这样写虽然实现了功能,但是这样写点一下返回,是重新创建一个界面,而不是返回到原来的界 面,目前还没找到更好的解决方案。
这样写的话到后边会造成OutofMemory问题,然后就会闪退。做返回效果,也可以这么做:
Ti.App.addEventListener('close_house',function(){
$.house.close();
});
Ti.App.fireEvent('close_house');
注意:只有window对象才有close方法,所以不要把元素的ID设置的和文件名相同,否则$.的对象就不是window对象了
11.设置元素为隐藏,也可以用opacity属性透明度,值为0.0(transparent)-1.0
12.设置文本框输入文字的属性,在tss中这样写:font:{ fontSize:10 }
13.取消Textfield 下划线,用backgroundColor:'transparent'
14.当图片显示不出来时,有可能是宽高的问题,可以和显示出来的图片比较下,改变宽高
15.取消Titanium导航条logo和文字:参考https://developer.appcelerator.com/question/178314/www.appcelerator.com/blog/2014/08/hiding-the-android-actionbar/
直接找到:build/android/res/values下的theme.xml文件,在项目的tiapp.xml中,写入下列代码:<android xmlns:android="http://schemas.android.com/apk/res/android">
<manifest>
<application android:theme="@style/Theme.AppCompat.Translucent.NoTitleBar.Fullscreen">
<!-- Add whatever else you need here -->
</application>
</manifest>
</android>
16:Titanium代码整理:ctrl + shift + F
Titanium系列--利用Titanium开发android App实战总结的更多相关文章
- 巧用第三方高速开发Android App 热门第三方SDK及框架
巧用第三方高速开发Android App 热门第三方SDK及框架 历经大半年的时间,最终是把这门课程给录制出来了,也就在今天,正式在慕课网上上线了 项目地址:巧用第三方高速开发Android App ...
- 巧用第三方快速开发Android App 热门第三方SDK及框架
巧用第三方快速开发Android App 热门第三方SDK及框架 历经大半年的时间,终于是把这门课程给录制出来了,也就在今天,正式在慕课网上上线了 项目地址:巧用第三方快速开发Android App ...
- Visual Studio 2015开发Android App问题集锦
Visual Studio 2015开发Android App 启动调试始终无法完成应用部署的解决方案 创建一个Android App项目后,直接启动调试发现Visual Studio Emulato ...
- android studio 开发android app 真机调试
大家都知道开发android app 的时候可以有2种调试方式, 一种是Android Virtual Device(虚拟模拟器) ,另一种就是真机调试. 这里要说的是真机调试的一些安装步骤: 1. ...
- Android基础新手教程——1.2.1 使用Eclipse + ADT + SDK开发Android APP
Android基础新手教程--1.2.1 使用Eclipse + ADT + SDK开发Android APP 标签(空格分隔): Android基础新手教程 1.前言 这里我们有两条路能够选,直接使 ...
- 吴裕雄--天生自然Android开发学习:1.2.1 使用Eclipse + ADT + SDK开发Android APP
1.前言 这里我们有两条路可以选,直接使用封装好的用于开发Android的ADT Bundle,或者自己进行配置 因为谷歌已经放弃了ADT的更新,官网上也取消的下载链接,这里提供谷歌放弃更新前最新版本 ...
- Visual Studio 2015开发Android App启动调试始终无法完成应用部署的解决方案
创建一个Android App项目后,直接启动调试发现Visual Studio Emulator for Android已成功运行,但应用始终处于Build中(等待时间超过1小时),并未如预期通过a ...
- 业余开发Android App的架构演变
闲暇之余,开发了一款休闲类app,虽然用户量不多,但确实花了不少心血在这上面.然而,开发出来的结果,与之前想好的架构,还是有不少区别. 下面,记录下这款app架构的演变: 最初,只想写个app,能与机 ...
- 高效开发Android App的10个建议
假如要Google Play上做一个最失败的案例,那最好的秘诀就是界面奇慢无比.耗电.耗内存.接下来就会得到用户的消极评论,最后名声也就臭了.即使你的应用设计精良.创意无限也没用. 耗电或者内存占用等 ...
随机推荐
- linux服务器下添加字体
版权声明:本文为楼主原创文章,未经楼主允许不得转载,如要转载请注明来源. 引言:这两天在开发一个动态生成海报的东西(图片拼接,图片水印),开发在windows下没有问题,图片和文字都能正常的生成出来. ...
- devexpress中如何给TabPage控件的Tab定义背景色
js: /*tab选项卡样式*/ .color .dxtc-link { background-color: #bf4e6a !important; } 后台代码: //选项卡样式 protected ...
- asp.net中选择数字时,另外的数字同时发生变化(适用dev控件)
关键: <ClientSideEvents ValueChanged="AgioChanged" /> <div class="col-sm-4 ...
- SQL笔记-第七章,表连接
SQL中使用JOIN 关键字来使用表连接.表连接有多种不同的类型,被主流数据库系统支持的有交叉连接(CROSS JOIN).内连接(INNER JOIN).外连接(OUTTER JOIN),另外在有的 ...
- ARCGIS对谷歌影像进行投影转换
相信有不少同学会有这样的困扰,通过软件下载的谷歌遥感影像,直接用ARCGIS等专业软件打开之后发现,遥感影像有拉伸的情况,这是什么原因呢.那是因为,通过软件下载下来的遥感影像的投影信息包含的是经纬度信 ...
- oracle sql优化
整理一下网上所看到sql优化方法 1.使用大写字母书写sql,因为oracle解释器会先将sql语句转换成大写后再解释 2 减少访问数据库的次数,多数情况下一条sql可以达到目的的,就不要使用多 ...
- static 使用,静态变量
由static修饰,属于整个类,被类对象共享, 可以由类名,对象名访问 static可以修饰变量,方法,代码块 public class HelloWorld { static String clas ...
- linux crontab命令参数及用法详解--linux自动化定时任务cron
声明:本文转自Linux 安全网,在此基础上加上自己的体会! crontab 命令 如果发现您的系统里没有这个命令,在ubuntu server 中用的是 sudo apt-get install c ...
- Blob(二进制)、byte[]、long、date之间的类型转换
String转成byte[]类型存入数据库,数据库字段对应byte[]的类型为Blob类型 String value = this.getParamNotNnll("bgvalue" ...
- C# 命令绑定
在构建WinForm程序中,为了使系统的结构清晰,有好的用户交互体验,实现不同按钮之间的交互,不使主窗体里面的代码臃肿.将按钮的命令通过类进行绑定,实现命令的管理使很有必要的. 该文章是将如何实现Bu ...