在basic4android中,当一项活动开始时,它会从手机屏幕的一角弹出。
我尝试为活动之间的动画创建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,这是真的吗?
发布于 2015-08-05 17:07:32
来自b4x论坛的This post说,你必须在调用startActivity()或finish()之后立即调用SetAnimation。由于您的动画似乎可以工作,我猜您不会在调用其中一个方法后立即调用它,因此仍然应用默认动画。
https://stackoverflow.com/questions/31827097
复制相似问题