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实战总结的更多相关文章

  1. 巧用第三方高速开发Android App 热门第三方SDK及框架

    巧用第三方高速开发Android App 热门第三方SDK及框架 历经大半年的时间,最终是把这门课程给录制出来了,也就在今天,正式在慕课网上上线了 项目地址:巧用第三方高速开发Android App ...

  2. 巧用第三方快速开发Android App 热门第三方SDK及框架

    巧用第三方快速开发Android App 热门第三方SDK及框架 历经大半年的时间,终于是把这门课程给录制出来了,也就在今天,正式在慕课网上上线了 项目地址:巧用第三方快速开发Android App ...

  3. Visual Studio 2015开发Android App问题集锦

    Visual Studio 2015开发Android App 启动调试始终无法完成应用部署的解决方案 创建一个Android App项目后,直接启动调试发现Visual Studio Emulato ...

  4. android studio 开发android app 真机调试

    大家都知道开发android app 的时候可以有2种调试方式, 一种是Android Virtual Device(虚拟模拟器) ,另一种就是真机调试. 这里要说的是真机调试的一些安装步骤: 1. ...

  5. Android基础新手教程——1.2.1 使用Eclipse + ADT + SDK开发Android APP

    Android基础新手教程--1.2.1 使用Eclipse + ADT + SDK开发Android APP 标签(空格分隔): Android基础新手教程 1.前言 这里我们有两条路能够选,直接使 ...

  6. 吴裕雄--天生自然Android开发学习:1.2.1 使用Eclipse + ADT + SDK开发Android APP

    1.前言 这里我们有两条路可以选,直接使用封装好的用于开发Android的ADT Bundle,或者自己进行配置 因为谷歌已经放弃了ADT的更新,官网上也取消的下载链接,这里提供谷歌放弃更新前最新版本 ...

  7. Visual Studio 2015开发Android App启动调试始终无法完成应用部署的解决方案

    创建一个Android App项目后,直接启动调试发现Visual Studio Emulator for Android已成功运行,但应用始终处于Build中(等待时间超过1小时),并未如预期通过a ...

  8. 业余开发Android App的架构演变

    闲暇之余,开发了一款休闲类app,虽然用户量不多,但确实花了不少心血在这上面.然而,开发出来的结果,与之前想好的架构,还是有不少区别. 下面,记录下这款app架构的演变: 最初,只想写个app,能与机 ...

  9. 高效开发Android App的10个建议

    假如要Google Play上做一个最失败的案例,那最好的秘诀就是界面奇慢无比.耗电.耗内存.接下来就会得到用户的消极评论,最后名声也就臭了.即使你的应用设计精良.创意无限也没用. 耗电或者内存占用等 ...

随机推荐

  1. 【摘要】多线程 - BeginInvoke异步调用

    private delegate int MyMethod(); private int method() { Thread.Sleep(); ; } private void MethodCompl ...

  2. Python从题目中学习:range()和xrange()

    近期给公司培训Python,好好啃了啃书本,查了查资料,总结一些知识点. --------------------------------------------------------------- ...

  3. python中的装饰器

    一.什么是装饰器 装饰器是一个很著名的设计模式,经常被用于有切面需求的场景,较为经典的有插入日志.性能测试.事务处理等.装饰器是解决这类问题的绝佳设计,有了装饰器,我们就可以抽离出大量函数中与函数功能 ...

  4. NSString和NSMutableString的创建及其一些常用方法

    NSString和NSMutableString都是对象类型,是NSObject的子类.NSString是不可变字符串,NSMutableString是可变字符串 一.NSString的创建 1.创建 ...

  5. free pascal 错误代码表

    free pascal 错误代码表 为了方便对照检查运行时错误代码,这里把所有的错误代码的含义整理出来.(最大序号为232,中间不一定连续.user.pdf P175) Run-time errors ...

  6. TortoiseSVN-1.8.11 安装时弹出2503错误导致安装失败解决办法

    这个问题主要是由于msi格式文件在win8中默认不是以管理员身份运行造成,可通过命令行解决: 右键单击win8左下角启动图标,选择命令提示符(管理员): 输入:msiexec /package 要安装 ...

  7. PHP生成静态页

    代码如下: <?    function makedir($mudir) //创建目录   {   $file = "./$mudir";   @mkdir($file,07 ...

  8. pci

    https://www.ibm.com/developerworks/cn/linux/l-pci/

  9. 关于Oracle的性能调整(一)

    Oracle Tuning的一些总结 关于Oracle的性能调整,一般包括两个方面,一是指Oracle数据库本身的调整,比如SGA.PGA的优化设置,二是连接Oracle的应用程序以及SQL语句的优化 ...

  10. jQuery Mobile 过渡效果

    jQuery Mobile 包含了允许您选择页面打开方式的 CSS 效果. jQuery Mobile 过渡效果 jQuery Mobile 拥有一系列关于如何从一页过渡到下一页的效果. 注释:如需实 ...