我需要在项目的视图之间进行交叉淡入淡出动画。哪个是制作动画和创建最佳视图/窗口的最佳方法。建议我为这项工作提供解决方案?我在测试环境中使用Titanium 3.1.2.GA,Alloys和Android Emulator。任何例子都可能是适用的?我的thread在appcelerator论坛
INDEX.XML
<Alloy>
<Window id="fblogin" class="container">
<Require src="loginsuccess" id="loginsuccess"></Require>
<Require src="loginFailure" id="loginFailure"></Require>
<Require src="loginPage" id="loginPage"></Require>
</Window>
</Alloy>
loginPage.xml
<Alloy>
<View class="container">
<LoginButton ns="Alloy.Globals.Facebook"/>
<Button title="Google"></Button>
</View>
</Alloy>
loginFailure.xml
<Alloy>
<View class="container">
<Label>Login Failed. Please try again later.</Label>
</View>>
</Alloy>
loginsuccess.xml
<Alloy>
<View class="container">
<Label>Login Successful</Label>
</View>
</Alloy>
index.js
var animation = require('alloy/animation');
var loginPage = $.loginPage;
var loginsuccess = $.loginsuccess;
var loginFailure = $.loginFailure;
function loginFails(){
animation.crossFade(loginPage, loginFailure, 500, function(){});
}
function loginSuccess(){
animation.crossFade(loginPage, loginsuccess, 500, function(){});
}
$.fblogin.open();
答案 0 :(得分:0)
请参阅您的链接中的问题说明:
现在,如果我调用loginFails()或loginSuccess(),那么它显示错误,因为它在控制器索引中,而不是在其他视图控制器中。怎么解决这个问题?
为了引用里面的元素一个必需的视图,你必须使用getView('elementId')。
<强> INDEX.XML 强>
<Alloy>
<Window id="fblogin" class="container">
<Require src="loginsuccess" id="loginsuccess"></Require>
<Require src="loginFailure" id="loginFailure"></Require>
<Require src="loginPage" id="loginPage"></Require>
</Window>
</Alloy>
<强> loginsuccess.xml 强>
<Alloy>
<View class="container" id="successContainer" visible="false">
<Label>Login Successful</Label>
</View>
</Alloy>
<强> index.js 强>
var successView = $.loginsuccess.getView('successContainer');
您现在可以在successView上执行交叉淡入淡出。
修改强>
在容器视图中添加了visible =“false”