#android #apache-flex #mobile #air #project
#Android #apache-гибкий #Мобильный #воздух #проект
Вопрос:
кто-нибудь может мне помочь? Ну, в моем приложении есть кнопка, и когда вы нажимаете на эту кнопку, это вызывает функцию, в которой есть строка navigator.pushView(); Но, прежде чем загружать второе представление, появляется один белый экран, а затем загружается мое второе представление. Могу ли я удалить этот белый экран?
myFirstView
<fx:Script>
<![CDATA[
import classes.utilis;
import mx.events.FlexEvent;
import mx.states.Transition;
var myTimer:Timer = new Timer(3000);
private function init(event:FlexEvent):void{
this.addEventListener(KeyboardEvent.KEY_DOWN, utilis.getInstance().checkKeys);
this.addEventListener(KeyboardEvent.KEY_UP, utilis.getInstance().checkKeys);
loading.visible = true;
myTimer.addEventListener(TimerEvent.TIMER, loginPage);
myTimer.start();
}
private function loginPage(event:TimerEvent):void{
myTimer.stop();
myTimer.removeEventListener(TimerEvent.TIMER_COMPLETE, loginPage);
//VERIFICAR AQUI SE ELE JÁ POSSUI LOGIN ATRIBUIDO E JÁ REDIRECIONAR PARA A ÁREA DO USUÁRIO.
navigator.pushView(telaLogin);
}
]]>
</fx:Script>
<fx:Declarations>
<!-- Place non-visual elements (e.g., services, value objects) here -->
</fx:Declarations>
<s:Image left="-15" right="-15" top="-12" bottom="-4" horizontalCenter="0" scaleMode="stretch"
smooth="true" smoothingQuality="high" source="assets/someHDImage.png"
verticalCenter="-4"/>
<!-- para dar uma borda arredondada ao layout-->
<s:Rect id="border" left="0" right="0" top="0" bottom="0"
radiusX="10" radiusY="10">
<s:stroke>
<s:SolidColorStroke id="borderStroke" color="#696969" weight="2" />
</s:stroke>
</s:Rect>
<!-- para dar uma borda arredondada ao layout-->
<s:BusyIndicator id="loading" left="130" width="15%" height="10%" horizontalCenter="0"
verticalCenter="-34"
visible="true"
symbolColor="red"
/>
Мой второй вид
<fx:Script>
<![CDATA[
import classes.utilis;
import mx.events.FlexEvent;
var tfLoading:TextFormat;
protected function init(event:FlexEvent):void
{
backgroundImage.source="assets/casal-apaixonado-na-praia22.png";
this.addEventListener(KeyboardEvent.KEY_DOWN, checkKeys);
this.addEventListener(KeyboardEvent.KEY_UP, checkKeys);
lblLoading.text = "";
}
public function checkKeys(event:KeyboardEvent):void{
switch(event.keyCode)
{
case Keyboard.BACK:
event.stopImmediatePropagation();
event.preventDefault();
break;
case Keyboard.MENU:
event.stopImmediatePropagation();
event.preventDefault();
break;
case Keyboard.SEARCH:
event.stopImmediatePropagation();
event.preventDefault();
break;
}
}
protected function btnSairClick(event:MouseEvent):void
{
//Desenvolver um ALERT para confirmar com o usuário.
utilis.getInstance().textDialog = "Você tem certeza que deseja sair?";
utilis.getInstance().retDialog = false;
utilis.getInstance().actionDialog = "sair";
navigator.pushView(telaDialog);
}
protected function btnLoginClick(event:MouseEvent):void
{
lblLoading.setStyle("color", "red");
if(txtLogin.text == ""){
lblLoading.text = "Você precisa preencher o Login";
txtLogin.setFocus();
}else if(txtSenha.text == ""){
lblLoading.text = "Você precisa preencher a Senha";
txtSenha.setFocus();
}else{
lblLoading.setStyle("color", "green");
lblLoading.text = "Por favor aguarde...";
//Efetuar o Login, Salvar para da próxima vez não precisar mais e redirecionar para a telaAreaUsuario
navigator.pushView(telaAreaUsuario);
}
}
protected function btnCadastroClick(event:MouseEvent):void
{
navigator.pushView(telaCadastro);
}
]]>
</fx:Script>
<fx:Style>
@namespace s "library://ns.adobe.com/flex/spark";
</fx:Style>
<fx:Declarations>
<!-- Place non-visual elements (e.g., services, value objects) here -->
</fx:Declarations>
<s:actionContent>
<s:Button width="50" height="40" icon="assets/sair.png" click="btnSairClick(event)"/>
</s:actionContent>
<s:Group left="0" right="0" top="0" bottom="0" contentBackgroundAlpha="0.4" horizontalCenter="0" verticalCenter="0">
<s:Image id="backgroundImage" left="-15" right="-15" top="-12" bottom="-4" horizontalCenter="0" scaleMode="stretch"
smooth="true" smoothingQuality="high" source="assets/someHDImage.png"
verticalCenter="-4"/>
<!-- para dar uma borda arredondada ao layout-->
<s:Rect id="border" left="0" right="0" top="0" bottom="0"
radiusX="10" radiusY="10">
<s:stroke>
<s:SolidColorStroke id="borderStroke" color="#696969" weight="2" />
</s:stroke>
</s:Rect>
<!-- para dar uma borda arredondada ao layout-->
<s:Scroller left="0" right="0" top="0" bottom="0" horizontalCenter="-5" verticalCenter="0">
<s:Group width="100%" height="100%">
<s:TextInput id="txtLogin" y="61" left="30" right="57" horizontalCenter="-14"/>
<s:Label x="10" y="38" text="Login"/>
<s:Label x="10" y="121" text="Senha"/>
<s:TextInput id="txtSenha" y="143" left="30" right="57" horizontalCenter="-14" displayAsPassword="true"/>
<s:Label id="lblLoading" x="4" y="196" width="100%" text="Efetue o login!" textAlign="center"/>
<s:Button right="35" top="210" width="50" height="50" click="btnLoginClick(event)" icon="/assets/btlogin.png"/>
<s:Label right="4" top="275" click="btnCadastroClick(event)" color="#0E16C3"
fontSize="12" text="Quero me cadastrar" textDecoration="underline"
useHandCursor="true"/>
</s:Group>
</s:Scroller>
</s:Group>
Комментарии:
1. Не могли бы вы быть более конкретными? Опубликуйте часть своего кода и точно опишите, чего вы ожидаете и что происходит не так.
2. Брайан, спасибо за комментарии. Ну, в моем приложении есть кнопка, и когда вы нажимаете на эту кнопку, это вызывает функцию, в которой есть строка navigator.pushView(); Но, прежде чем загружать второе представление, появляется один белый экран, а затем загружается мое второе представление. Могу ли я удалить этот белый экран?
3. Не видя второго представления, в первую очередь конструктора и
createChildren
функций или макета, мы мало что можем сделать для вас здесь. Также было бы здорово узнать, как вы тестируете (т. Е. на устройстве, в авиасимуляторе, на каком устройстве и т.д.)4. Джош, я тестирую на своем устройстве и на симуляторе тоже.
Ответ №1:
В основной файл.mxml в папке / src вы должны добавить черный фон. Мой основной файл выглядит так: (у меня черный фон при просмотре pushview)
<?xml version="1.0" encoding="utf-8"?>
<s:ViewNavigatorApplication xmlns:fx="http://ns.adobe.com/mxml/2009"
xmlns:s="library://ns.adobe.com/flex/spark"
firstView="views.Start"
splashScreenImage="MySplashScreen"
backgroundColor="black">
</s:ViewNavigatorApplication>