1

TitaniumでAndroid用のアプリを開発しています。このアプリでは、次のコードを持つモーダルウィンドウを開く必要があります。

var window = Ti.UI.createWindow({
  title: "This is modal window"
});
// Add some elements to window
window.open({modal: true});

ここでの問題は、アニメーションなしでウィンドウが一瞬で開くことです。画面に表示されている間、モーダルウィンドウを下から上にクロールさせたいのですが。このアニメーションを実行するにはどうすればよいですか?また、window.open()でanimation:trueを指定することもできましたが、成功しませんでした。

4

1 に答える 1

4

デフォルトでは、Android には「下から上」のアニメーションはありません。「重い」ウィンドウを作成すると、デフォルトで「右から左」のアニメーションを取得できます。http://developer.appcelerator.com/doc/mobile/android/module_sdkの下部を参照してください

ただし、SDK の 1.7.5 にはバグがあるようで、modal:true作成時にウィンドウのプロパティを設定すると、デフォルトではアニメーションが表示されません。ただし、上記のリンクで説明されている他のプロパティを使用して、重いウィンドウを作成すると、アニメーションが表示されます。Android 2.1 および Appcelerator Mobile 1.7.5 で開くデフォルトのアニメーション ウィンドウを表示するコードを次に示します。

var win1 = Titanium.UI.createWindow({  
    title:'Win 1',
    backgroundColor:'#fff',
    exitOnClose : true
});

var button = Ti.UI.createButton({
    title: 'open',
    width:'80dp',
    height:'40dp'
});

button.addEventListener('click', function(){
    var win2 = Ti.UI.createWindow({
        title:'Example',
        backgroundColor:'blue',
        windowSoftInputMode:Ti.UI.Android.SOFT_INPUT_ADJUST_UNSPECIFIED  //** important to make a heavyweight window
    });
    win2.open({animated:true});
});

win1.add(button);
win1.open();

を変更するanimated:trueanimated:false、開閉時にウィンドウが表示されたり消えたりするだけです。

ウィンドウを開くときにウィンドウを下から上にスライドさせる独自のアニメーションを作成することもできますが、Android / Appcelerator で試したことはありません。

于 2011-11-19T10:49:10.923 に答える