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. web_reg_find()函数的使用

    1.此函数的作用,很显然就是能告之测试人员页面是否显示正确,其意义与价值在我此次支撑平台的性能测试得到了体现. 2.在使用此函数的过程中,遇到了非常郁闷的事情,幸得老大的帮助才得以跳出误区.当在此函数 ...

  2. c语言 sscanf()函数

    sscanf()函数用于从字符串中读取指定格式的数据,其原型如下:    int sscanf (char *str, char * format [, argument, ...]); [参数]参数 ...

  3. 安装和使用memcached

    引用:http://www.czhphp.com/archives/252 如何将 memcached 融入到您的环境中? 在开始安装和使用 using memcached 之前,我们需要了解如何将 ...

  4. java, poi, excel

    工作需要用java操作Excel,现在网上搜索了一下,决定选取POI包来操作.pom内容如下: <dependency> <groupId>org.apache.poi< ...

  5. CSS盒子模型学习记录3(侧面导航栏)

    学习http://www.blueidea.com/tech/web/2007/4545_2.asp 代码试验 html <!DOCTYPE html PUBLIC "-//W3C// ...

  6. redis集群出现JedisNoReachableClusterNodeException异常(No reachable node in cluster)

    上午午好好的,突然抛了如下异常: Exception in thread "main" redis.clients.jedis.exceptions.JedisNoReachabl ...

  7. 【译】为什么这样宏定义#define INT_MIN (-2147483647 - 1)?

    2的32次方为2147483648*2,0~(2147483648*2-1)这是32位机上无符号整数代表的范围.而32机的int范围为-2147483648~+2147483647 stackover ...

  8. JS中的for/in语句和arguments参数

    在js应用中,有时候我们会遇到希望定义一个函数可以被不同情况调用,比如参数个数不固定的情况. 可以使用for/in语句和arguments参数解决. 举个简单例子:定义一个计算总和的函数,需要计算的数 ...

  9. 数据库数据怎样导出成Excle表格或Word文档?

    数据导出:将数据库的数据导出成Excel工作表或Word文档 方法:将一个泛型集合导出出去 主要使用: SaveFileDialog StreamWriter 导出代码: private void b ...

  10. shell和bat 监控进程,自动关机

    1.linux 下监控进程,进程结束后关机 新建文件 monit.sh $chmod +x monit.sh 加入代码 #!/bin/sh a=; ]; do |;then echo "sh ...