Titanium Tianium如何将一个窗口推到另一个窗口,具有推视图控制器效果(类似iphone中的动画)

Titanium Tianium如何将一个窗口推到另一个窗口,具有推视图控制器效果(类似iphone中的动画),titanium,titanium-mobile,Titanium,Titanium Mobile,我不熟悉钛。是否有人知道如何将一个窗口推到另一个窗口,并具有“推视图控制器”(push view controller)效果(如iphone中的动画)。因为在文档中,大多数都是模态表示。是否有像iphone上那样的推送视图?谢谢。我们一直在使用动画在Android上滑动窗口,模拟iOS功能。我们最终制作了自己的窗口管理器来管理这些差异,但我提取了相关的动画代码 我们在iOS上的导航组中使用windows,在Android上的单个窗口中使用视图 我们有一个名为vwBody的客户端区域视图,您将在此

我不熟悉钛。是否有人知道如何将一个窗口推到另一个窗口,并具有“推视图控制器”(push view controller)效果(如iphone中的动画)。因为在文档中,大多数都是模态表示。是否有像iphone上那样的推送视图?谢谢。

我们一直在使用动画在Android上滑动窗口,模拟iOS功能。我们最终制作了自己的窗口管理器来管理这些差异,但我提取了相关的动画代码

我们在iOS上的导航组中使用windows,在Android上的单个窗口中使用视图

我们有一个名为
vwBody
的客户端区域视图,您将在此处看到它。这是组合导航标题下的客户端区域。如果您没有模拟整个导航组功能,那么这可能只是主窗口

在任何情况下,我们合成的传入视图仅显示客户端区域右侧的一个像素:

// vwBody is preexisting view defining the client area

var newview = Ti.UI.createView( {
    name: name,
    left: vwBody.size.width - 1,
    top: 0,
    width: vwBody.size.width,
    height: vwBody.size.height } );

// compose the view here

vwBody.add(newView);
newView.addEventListener('postlayout', waitForWindowPaint);
这允许视图正确组合,因为只有视图出现在屏幕上,Android/Ti才会真正开始绘制。在继续动画之前,我们等待postlayout事件。合成完成后,我们将在以下位置设置视图动画:

function waitForWindowPaint()
{
  newView.animate({ left: 0, duration:300 }, 
    function(){ /* whatever to do post animation */ });

  newView.removeEventListener("postlayout", waitForWindowPaint);
}
视图现在已准备好供用户交互

关闭视图时,我们会将其设置回动画:

newView.animate({ left: curWin.size.width, opacity: 0, duration:300 },
   function(){ vwBody.remove(newView); });
我们钩住android:back和header back按钮来关闭视图