android surfaceview 怎么用

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了android surfaceview 怎么用相关的知识,希望对你有一定的参考价值。

参考技术A @Override
public void surfaceDestroyed(SurfaceHolder holder)




上面代码我们在SurfaceView的构造方法中执行了init初始化方法,在这个方法里,我们先获取SurfaceView里的 SurfaceHolder对象,然后通过它设置Surface的生命周期回调方法,使用DemoSurfaceView类本身作为回调方法代理类。 surfaceCreated方法,是当SurfaceView被显示时会调用的方法,所以你需要再这边开启绘制的线 程,surfaceDestroyed方法是当SurfaceView被隐藏会销毁时调用的方法,在这里你可以关闭绘制的线程。上面的例子运行后什么也不 显示,因为还没定义一个执行绘制的线程。下面我们修改下代码,使用一个线程绘制一个逐渐变大的圆圈:

[java] view plain copy print?
package com.android777.demo.uicontroller.graphics;

import android.content.Context;
import android.graphics.Canvas;
import android.graphics.Color;
import android.graphics.Paint;
import android.view.SurfaceHolder;
import android.view.SurfaceHolder.Callback;
import android.view.SurfaceView;

public class DemoSurfaceView extends SurfaceView implements Callback

LoopThread thread;

public DemoSurfaceView(Context context)
super(context);

init(); //初始化,设置生命周期回调方法



private void init()

SurfaceHolder holder = getHolder();
holder.addCallback(this); //设置Surface生命周期回调
thread = new LoopThread(holder, getContext());


@Override
public void surfaceChanged(SurfaceHolder holder, int format, int width,
int height)

以上是关于android surfaceview 怎么用的主要内容,如果未能解决你的问题,请参考以下文章

android从view切换surfaceview的时候,出现短暂的黑屏,怎么处理

android videoview和surfaceview的区别

android ViewPager 嵌套SurfaceView切换时卡顿黑屏怎么处理

Android有关surfaceView又一次创建的问题。

Android SurfaceView + MediaPlayer实现分段视频无缝播放

SurfaceView和SurfaceHolder的基本用法