首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何在启动活动时替换b4a弹出动画

如何在启动活动时替换b4a弹出动画
EN

Stack Overflow用户
提问于 2015-08-05 16:21:29
回答 1查看 1.4K关注 0票数 0

在basic4android中,当一项活动开始时,它会从手机屏幕的一角弹出。

我尝试为活动之间的动画创建XML文件,但活动仍然从我的动画开始,沿着那个恼人的弹出式动画。

我想摆脱它,使用我的自定义动画。

我使用此函数和两个XML文件来创建动画:

代码语言:javascript
复制
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文件

代码语言:javascript
复制
<?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,这是真的吗?

EN

回答 1

Stack Overflow用户

发布于 2015-08-05 17:07:32

来自b4x论坛的This post说,你必须在调用startActivity()finish()之后立即调用SetAnimation。由于您的动画似乎可以工作,我猜您不会在调用其中一个方法后立即调用它,因此仍然应用默认动画。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/31827097

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档