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. [LINUX] 查看连接数和IO负载

    Iostat 是 sysstat 工具集的一个工具,需要安装. Centos的安装方式是: yum install sysstat Ubuntu的安装方式是: aptitude install sys ...

  2. js实现右侧的分享效果

    就是当鼠标移到上面的时候,他会出现,鼠标移出就消失. nmouseover和nmouseout就能实现 <style> *{padding:0;margin:0;} #s1{width:2 ...

  3. CentOS 问题集锦

    在CentOS 6更新后,不可避免的会在启动选项中产生多个内核选项,一个内核文件大概占100兆左右(一般100M以下),可以使用以下命令进行删除多余的内核. 1.首先列出系统中正在使用的内核: # u ...

  4. 第九十八天请假 PHP TP框架 空操作和命名空间

    访问空方法解决办法->在控制器里面创建 _empty 方法 <?php namespace Home\Controller; use Think\Controller; class Ind ...

  5. checkbox绿色圆圈样式

    抄自: http://www.cnblogs.com/xyzhanjiang/p/3989836.html?utm_source=tuicool&utm_medium=referral < ...

  6. Shape comparison language

      形状比较语言, 九交模型 In this topic About shape comparison language Dimensionality Extensions to the CBM SC ...

  7. 解决C# 转到定义时打开的是元数据文件而非源代码文件的问题

    原因:添加引用时 使用的是“浏览"选项卡,选择了项目生成的dll作为引用的内容. 解决:添加引用时 使用的是"项目"选项卡,选择了项目本身作为引用的内容.

  8. gdb调式

    1.PCB版的相应目录下执行命令: gdbserver 10.18.13.84:5555 DvdPlayer 2.linux操作系统执行:(如果是android找到android项目路径下的gdb)m ...

  9. alert/confirm/prompt 处理

    webdriver 中处理JavaScript 所生成的alert.confirm 以及prompt 是很简单的.具体思路是使用switch_to_alert()方法定位到alert/confirm/ ...

  10. Prim算法和Kruskal算法(图论中的最小生成树算法)

    最小生成树在一个图中可以有多个,但是如果一个图中边的权值互不相同的话,那么最小生成树只可能存在一个,用反证法很容易就证明出来了. 当然最小生成树也是一个图中包含所有节点的权值和最低的子图. 在一个图中 ...