zoukankan      html  css  js  c++  java
  • Titanium系列--利用Titanium开发android App实战总结

    1. Titanium中,通过ImageView Controller 显示图片,图片地址要放在app/assets下,然后自己建一个文件夹,把图片放在这里。如下图,然后alloy代码:<ImageView image="/lib/welcome.png" /> 完事。

    2. 图片没有占满整个屏幕?--没关系,在tss文件中,  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,

    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

  • 相关阅读:
    HttpServletResponse对象
    FastJSON 简介及其Map/JSON/String 互转(转载)
    commons-lang3-3.4类库
    HttpClient相关
    JSON.parse()方法 (转载)
    textview用法--推荐
    每日总结
    百度网盘
    每日总结
    每日总结
  • 原文地址:https://www.cnblogs.com/inya/p/4109315.html
Copyright © 2011-2022 走看看