Титан: сдвижное окно влево / вправо - PullRequest
1 голос
/ 12 июля 2011

Я хочу сдвинуть текущее открытое окно влево и сдвинуть новое окно справа на экран.Я использую следующий код, который выполняет эту работу:

    var newWindow = Titanium.UI.createWindow({
        url:'new.js',
        backgroundImage:'ui/bg.gif',
        zIndex: 10,
        left: "100%",
        width: "100%"
    });


    var slide_it_left = Titanium.UI.createAnimation();
    slide_it_left.left = 0; // to put it back to the left side of the window
    //slide_it_left.curve = Titanium.UI.ANIMATION_CURVE_LINEAR;
    slide_it_left.duration = 500;

    var slide_it_right = Titanium.UI.createAnimation();
    slide_it_right.left = "-100%";
    //slide_it_right.curve = Titanium.UI.ANIMATION_CURVE_LINEAR;
    slide_it_right.duration = 500;    

    currentWindow.animate(slide_it_right);
    newWindow.open(slide_it_left);

Однако, кажется, что между двумя окнами есть промежуток 20 пикселей, когда они скользят внутрь / наружу.Я понятия не имею, как это возможно, так как currentWindow имеет ширину 100%, а также новое. Я пытался скрыть это черное пространство, настраивая кривую / легкость, но без хорошего результата, вы все еще можете заметитьчерное пространство между ними, несмотря ни на что.Есть идеи?Спасибо!

ОБНОВЛЕНИЕ: Сделав длительность анимации очень медленной, я заметил, что в начале и в конце они идеально выровнены, но между ними нет.Делая анимацию очень быстрой, пространство между двумя окнами большое.Что означает, что должно быть что-то происходящее с замедлением .. Это должно заставить анимацию работать без замедления, нет ?: "Titanium.UI.ANIMATION_CURVE_LINEAR".Но почему-то это не решает проблему. Не знаю, откуда происходит ослабление.

Ответы [ 4 ]

2 голосов
/ 31 июля 2011

если вы используете вкладки, просто откройте новое окно в той же вкладке.

tab1.open(win,{animated:true});
1 голос
/ 16 июля 2011

Работает ли это, если вы устанавливаете ширину окна и влево / вправо со значением пикселя?

0 голосов
/ 30 января 2017

Поскольку этот вопрос отображается в верхней части окна поиска анимации слайда слева, вот что мне помогло

win.open({
    activityEnterAnimation: Ti.Android.R.anim.slide_in_left,
    activityExitAnimation: Ti.Android.R.anim.slide_out_right
});

Проверьте документацию здесь

http://docs.appcelerator.com/platform/latest/#!/api/openWindowParams

0 голосов
/ 17 июня 2014

Нет, это не будет работать.В любом случае у меня было одно и то же требование в одном из моих приложений, поэтому вместо использования окна я использовал представления, анимировал их справа налево и управлял ими с помощью глобального стека приложений.Надеюсь, это поможет.

...