2015-08-05 2 views
0

В basic4android, когда начинается действие, оно выплывает из угла экрана на моем телефоне.Как заменить всплывающую анимацию b4a при запуске. Действия

Я пробовал создавать XML-файлы для анимации между действиями, но все же занятия начинаются с моей анимации по этой досадной всплывающей анимации.

Я хочу избавиться от этого и использовать свою собственную анимацию.

Я использую эту функцию и два файла XML для создания анимации:

Sub ListView1_ItemClick (Position As Int, Value As Object) 
    StartActivity(Value) 
    SetAnimation("file1", "file2") 
End Sub 

Sub SetAnimation(InAnimation As String, OutAnimation As String) 
    Dim r As Reflector 
    Dim package As String 
    Dim In, out As Int 
    package = r.GetStaticField("anywheresoftware.b4a.BA", "packageName") 
    In = r.GetStaticField(package & ".R$anim", InAnimation) 
    out = r.GetStaticField(package & ".R$anim", OutAnimation) 
    r.Target = r.GetActivity 
    r.RunMethod4("overridePendingTransition", Array As Object(In, out), Array As String("java.lang.int", "java.lang.int")) 
End Sub 

и XML файлы

<?xml version="1.0" encoding="utf-8"?> 
<alpha xmlns:android="http://schemas.android.com/apk/res/android" 
    android:duration="400" 
     android:fromAlpha="0.0" 
     android:interpolator="@android:anim/accelerate_interpolator" 
     android:toAlpha="1.0" /> 

<?xml version="1.0" encoding="utf-8"?> 
<alpha xmlns:android="http://schemas.android.com/apk/res/android" 
    android:duration="400" 
     android:fromAlpha="1.0" 
     android:interpolator="@android:anim/accelerate_interpolator" 
     android:toAlpha="0.0" /> 

Я использую версию 5.0.2 из B4A это может быть случай?

ответ

0

This post с форумов b4x говорит, что вы должны позвонить SetAnimation прямо после вызова startActivity() или finish(). Поскольку ваша анимация работает, думаю, вы не вызываете ее сразу после вызова одного из этих методов, поэтому анимация по умолчанию все еще применяется.

+0

вот как я назвал анимацию набора –

+0

Ладно, извините за это, я не могу комментировать, так как мне не хватает репутации, поэтому я должен был написать это как ответ. –

+0

спасибо в любом случае –