android - 钛安卓 : How to animate a modal window?

标签 android android-animation titanium-mobile

我正在 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,但没有成功。

最佳答案

默认情况下,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:true 更改为 animated:false,则窗口将在您打开和关闭时出现和消失。

您可以尝试创建自己的动画以在打开窗口时从底部向上滑动窗口,但我从未在 Android/Appcelerator 上尝试过。

关于android - 钛安卓 : How to animate a modal window?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8166704/

相关文章:

android - 如何在android中为动画计时

android - 如何使animatorInflater正确?

在设备上动画 View 时 Android WebView 闪烁错误

javascript - Titanium如何在switch中使用图像

android - Titanium (Android) 检查正在运行的服务

ios - 在钛中如何截取完整的 ScrollView ?

android - android webview youtube iframe喜欢在feedly吗?

android - 找不到与给定名称匹配的资源?

java - 在线程外使用 String

android - 嵌套 fragment 中带有 recyclerView 的 AppBarLayout