0

我想创建一个覆盖整个活动屏幕的背景。就像:

 android:background="@drawable/background"

但我希望这个背景是animated(60 帧),循环并以尽可能多的设备分辨率为目标。

我试图做一个drawble .jpg序列,但问题是我使用 1920x1080,而 logcat 在尝试在模拟器上测试它时,应用程序崩溃了,并且 LogCat 给了我一个错误说,not enough memory

然后我尝试导入video我的序列并将其设置为在后台播放。但是我不知道将 放在video我的res文件夹中的哪个位置并从那里用 调用它SetVideoPath(),以便播放它。

覆盖具有不同分辨率的多个设备的动画背景的最佳方法是什么?

@Arun C 托马斯

我仍然在 logcat 中遇到错误,

内存不足错误

我的代码是这样的:

package combiolab.biolab;


import android.app.Activity;
import android.graphics.drawable.AnimationDrawable;
import android.opengl.GLSurfaceView;
import android.opengl.GLSurfaceView.Renderer;
import android.os.Bundle;
import android.view.WindowManager;

public class MainActivity extends Activity {

    private Renderer graphicsRenderer;

    //public static String gl;
    AnimationDrawable anim;

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
        getWindow().setFlags(WindowManager.LayoutParams.FLAG_FULLSCREEN,
                WindowManager.LayoutParams.FLAG_FULLSCREEN);
       getWindow().addFlags(WindowManager.LayoutParams.FLAG_KEEP_SCREEN_ON);

       GLSurfaceView myGLSurfaceView = (GLSurfaceView) findViewById(R.id.gl);
       myGLSurfaceView.setEGLConfigChooser(true);         
       myGLSurfaceView.setRenderer(graphicsRenderer);
    }



    <RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
        xmlns:tools="http://schemas.android.com/tools"
        android:layout_width="match_parent"
        android:layout_height="match_parent"
        android:gravity="center"
        android:paddingBottom="@dimen/activity_vertical_margin"
        android:paddingLeft="@dimen/activity_horizontal_margin"
        android:paddingRight="@dimen/activity_horizontal_margin"
        android:paddingTop="@dimen/activity_vertical_margin"
        tools:context=".MainActivity" >


         <android.opengl.GLSurfaceView 
            android:id="@+id/gl" 
            android:layout_width="fill_parent" 
            android:layout_height="fill_parent">
        </android.opengl.GLSurfaceView>



    </RelativeLayout>
4

1 回答 1

1

您需要创建一个OpenGL 视图,然后像这样添加它

 <android.opengl.GLSurfaceView 
        android:id="@+id/gl" 
        android:layout_width="fill_parent" 
        android:layout_height="fill_parent">
    </android.opengl.GLSurfaceView>

onCreate()实现 Renderer 之类的

GLSurfaceView myGLSurfaceView = (GLSurfaceView) findViewById(R.id.gl);
    myGLSurfaceView.setEGLConfigChooser(true);         
    myGLSurfaceView.setRenderer(graphicsRenderer);
于 2013-04-17T08:37:05.490 回答