移行先サイト
データを取ってくる間などにActivityIndicator を使ってローディング画面を表示することができます。
iOS,Androidでは以下の動作の違いがあります。
Style Titanium.UI.iPhone.ActivityIndicatorStyle
PLAIN | default サイズ普通 色白 |
BIG | サイズ大 色白 |
DARK | サイズ普通 色灰色 |
Tabgroupでの扱い
Windowにaddしても表示されないので調べるとTabGroupではTabGroup自体にAddする必要があるとのことでした。 TabGroupにaddすると表示はされるのですが、テキストが表示されません。 その上なぜかテキスト1文字文ぐらいの幅左にづれるのでテキストはとっておいた方がいいかもしれません。
exportsを使ったサンプル
LoadingWindow.js
/** アクティブインジケータ */ var actInd; /** タブグループ */ var tabGroup; /** * タブグループ初期化 * @param {TabGroup} setTabGroup * @param {String} setLoadingStr */ exports.initTabGroup = function(setTabGroup,setLoadingStr){ actInd = Ti.UI.createActivityIndicator({ backgroundColor:'black', opacity:0.7, height: '100%', width: '100%', font: {fontSize:14, fontWeight:'bold'} }); if(Ti.Platform.osname=="android"){ actInd.setMessage(setLoadingStr); } if(Ti.Platform.osname=="iphone"){ actInd.setStyle(Titanium.UI.iPhone.ActivityIndicatorStyle.BIG); } tabGroup = setTabGroup; tabGroup.add(actInd); }; /** * ローディング画面表示 */ exports.show = function(){ actInd.show(); }; /** * ローディング画面非表示 */ exports.hide = function(){ actInd.hide(); };
使用例
//ローディング画面初期化 var LodingWindow = require('LoadingWindow'); LodingWindow.initTabGroup(tabGroup, "Now Loading"); //ローディング画面表示 LodingWindow.show(); //ローディング画面非表示 LodingWindow.hide();