矩阵 class 是如何工作的?

How does the matrix class work?

我最近一直在为 android 开发纸牌游戏。一切运行顺利,没有错误,所以我想开始稍微修改一下。我想做的一件事是让我的牌在发牌时从屏幕边缘滑入。听说矩阵数组class在做滚动动画的时候可以派上大用场,但是不知道怎么弄,网上搜也好像没什么用。有没有比使用矩阵更实用和有效的方法来做到这一点?如果不是,有人可以解释矩阵的工作原理吗?

您可以创建 Animator 并将其附加到卡片对象。 (或者只加载动画并在需要时播放,我将在下面使用一些代码展示)

然后您需要在 res 中创建一个名为 anim 的文件夹,在该文件夹中创建两个文件:

slide_up_left.xml

     <?xml version="1.0" encoding="utf-8"?>
<set xmlns:android="http://schemas.android.com/apk/res/android"
    android:interpolator="@android:anim/accelerate_interpolator" >

    <translate
        android:duration="@integer/config_slide_time"
        android:fromYDelta="100%p"
        android:toYDelta="0" />

    <alpha
        android:duration="@integer/config_slide_time"
        android:fromAlpha="0.0"
        android:toAlpha="1.0" />

    <rotate
        android:duration="@integer/config_slide_time"
        android:fromDegrees="25"
        android:pivotX="0"
        android:pivotY="0"
        android:toDegrees="0" />

</set>

slide_up_right.xml

<?xml version="1.0" encoding="utf-8"?>
<set xmlns:android="http://schemas.android.com/apk/res/android"
    android:interpolator="@android:anim/accelerate_interpolator" >

    <translate
        android:duration="@integer/config_slide_time"
        android:fromYDelta="100%p"
        android:toYDelta="0" />

    <alpha
        android:duration="@integer/config_slide_time"
        android:fromAlpha="0.0"
        android:toAlpha="1.0" />

    <rotate
        android:duration="@integer/config_slide_time"
        android:fromDegrees="-25"
        android:pivotX="100%"
        android:pivotY="0"
        android:toDegrees="0" />

</set>

并在包含以下内容的值文件夹中创建一个名为 integers 的 xml 文件:

 <?xml version="1.0" encoding="utf-8"?>
<resources>
     <integer name="config_slide_time">800</integer>
</resources>

如果您不需要 Animator 对象,请使用此代码:

YOURCARD_VIEW.startAnimation(AnimationUtils.loadAnimation(getContext(), R.anim.slide_up_left)); 

YOURCARD_VIEW.startAnimation( AnimationUtils.loadAnimation(getContext(), R.anim.slide_up_right));

YOURCARD_VIEW 是一个视图对象,因此您必须将卡片定义为视图