使用openGL逐帧动画

时间:2018-03-12 19:17:46

标签: android opengl-es

我有大约90个png,我想在我的Android应用程序中将它们显示为动画。我尝试使用动画列表,但该应用程序使用大约120 MB的内存!我搜索了更有效的方法,我找到了一些openGL的解决方案。问题是我不知道如何使用openGL来做到这一点,我不知道关于opengl的任何事情! 有指导吗? 我该怎么做?

<animation-list xmlns:android="http://schemas.android.com/apk/res/android"
    android:oneshot="false">

    <item android:duration="34" android:drawable="@drawable/a1"/>
    <item android:duration="34" android:drawable="@drawable/a2"/>
    <item android:duration="34" android:drawable="@drawable/a3"/>
    .
    .
    .
    <item android:duration="34" android:drawable="@drawable/a90"/>
    <item android:duration="34" android:drawable="@drawable/a91"/>

</animation-list>

我的ImageView:

 <ImageView
        android:id="@+id/iv_loading_animation"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        app:layout_constraintTop_toTopOf="parent"
        app:layout_constraintBottom_toBottomOf="parent"
        app:layout_constraintRight_toRightOf="parent"
        app:layout_constraintLeft_toLeftOf="parent"
        android:scaleType="centerInside"
        android:background="@drawable/loading_animation"/>

主要活动:

ImageView animationLoaderIv = (ImageView)rootView.findViewById(R.id.iv_loading_animation);

        ConstraintLayout.LayoutParams layoutParams = (ConstraintLayout.LayoutParams)animationLoaderIv.getLayoutParams();
        layoutParams.height = width;
        layoutParams.width = width;
        animationLoaderIv.setLayoutParams(layoutParams);

        ((AnimationDrawable)animationLoaderIv.getBackground()).start();

0 个答案:

没有答案