请教关于surfaceview背景初始化

============问题描述============

基本源于网上流传很多的画正弦的代码。初始时,整个背景都是黑的,在画图的时候使用下面代码倒是可以把背景变了

Canvas canvas = sfh.lockCanvas(null);  

        canvas.drawColor(Color.BLUE);// 清除画布  

        sfh.unlockCanvasAndPost(canvas);  

但是我希望软件运行surfaceview就能有背景色,且背景色不会覆盖我画的图,我在布局里添加过背景图片,但是会造成挡住我画的图

我在onCreate里尝试把背景画出来,但是无法得到画布

    @Override

    public void onCreate(Bundle savedInstanceState) {

        super.onCreate(savedInstanceState);

        setContentView(R.layout.main);

        sfv = (SurfaceView) this.findViewById(R.id.SurfaceView01);  

        sfh = sfv.getHolder();  

//       此时还得不到画布的,canvas是null

        Canvas canvas = sfh.lockCanvas(null);

        canvas.drawColor(Color.BLUE); 

        sfh.unlockCanvasAndPost(canvas); 	

        	 

    }

请问如何初始化背景啊

============解决方案1============

学习中,请楼主解决后分享

时间: 2024-11-01 16:03:29

请教关于surfaceview背景初始化的相关文章

Android openGL ES 2.0里Surfaceview背景透明

surfaceview的黑色背景会挡住其父的背景,现在把surfaceview的背景设为透明,既可以看到所绘的3D物体,又可以看到背景. 在onSurfaceCreated里,调用GLES20.glClearColor(0f, 0f, 0f, 0f);alpha为0,即透明. 然后,对surfaceview要作一定处理: mGLSurfaceView.setEGLConfigChooser(8, 8, 8, 8, 16, 0);TestRenderer renderer = new TestRe

SurfaceView类透明背景设置

将SurfaceView背景设置为透明,主要添加以下几句话就可以了: 在SurfaceView创建后设置一下下面的参数: setZOrderOnTop(true); getHolder().setFormat(PixelFormat.TRANSLUCENT); 还有在draw方法中绘制背景颜色的时候以下面的方式进行绘制就可以实现SurfaceView的背景透明化 canvas.drawColor(Color.TRANSPARENT,Mode.CLEAR);

Android -- SurfaceView绘制

SurfaceView SurfaceView是View的一个特殊子类,它的目的是另外提供一个线程进行绘制操作. 步骤 1.用SurfaceView进行绘制,首先要创建一个类,继承 SurfaceView,同时这个类应该实现SurfaceHolder.Callback接口. 这个接口中的三个回调函数(surfaceChanged(SurfaceHolder holder, int format, int width, int height),surfaceCreated(SurfaceHolde

利用SurfaceView显示正弦曲线,仿造示波器

众所周知,view是通过刷新来重绘视图的,Android系统通过发出VSYNC信号来进行屏幕重绘,刷新的时间间隔为16ms,如果在16ms内view完成你所需要的所有操作,那么用户在视觉上就不会产生卡顿的感觉:而如果执行的操作逻辑太多,特别是需要频繁刷新的界面,就会不断阻塞主线程,从而导致画面卡顿. 因此Android提供了surfaceView. 1.View主要适用于主动更新的情况,surfaceView主要适用于被动更新,例如频繁的刷新. 2.View在主线程 中对View进行刷新,sur

运动目标检测--改进的背景减法

一.概述 本文提出了一种改进的基于背景减法的运动目标检测算法,该算法能自适应地对背景进行初始化和实时更新,并能有效克服光照等外界条件变化对运动目标检测的影响. 二.算法介绍 基于背景减法的视频运动目标检测主要包括预处理.背景建模.目标检测和后处理四个步骤.本文的算法流程如图 1 所示,算法中的预处理是对每一帧图像都进行去噪和亮度归一化处理,以抑制光照突变和噪声的影响:背景建模则采用改进的均值滤波法自动初始化背景,并不断实时更新背景,以克服环境光照变化所产生的影响:目标检测是在背景减法的基础上采用

Android Camera2拍照(一)——使用SurfaceView

原文:Android Camera2拍照(一)--使用SurfaceView Camera2 API简介 Android 从5.0(21)开始,引入了新的Camera API Camera2,原来的android.hardware.Camera被废弃(下面称为Camera1),还有一个android.graphics.Camera,这个android.graphics.Camera不是用来照相的,是用来处理图像的,可以做出3D的图像效果之类的,之前的Camera1则由android.hardwa

dmytrodanylyk/circular-progress-button源码解析(一)

转载请注明出处http://blog.csdn.net/crazy__chen/article/details/46278423 源码下载http://download.csdn.net/detail/kangaroo835127729/8755815 dmytrodanylyk/circular-progress-button是github上一个开源的按钮控件,这个是链接https://github.com/dmytrodanylyk/circular-progress-button 下面是示

[Android开发学习] day06

对于android里的接口类,直接new!!!   手机SD卡路径获取 通过代码,获取sd卡路径. 获取SDcard:mnt/sdcard   注意要补充上[反斜杠]!!! String path=Environment.getExternalStorageDirectory().getAbsolutePath(); System.out.println(path); 获取SDcard:mnt/sdcard/Movies String path2=Environment.getExternalS

XIB方式view的封装

1.为什么要view的封装 注意: 1.外界创建了XIb自定义的View,如果没有设置尺寸的话,其默认的尺寸是xib中描述尺寸,位置是(0, 0) 2.布局内部的自控件的时候尽量使用Autolayou方式布局 l如果一个view内部的子控件比较多,一般会考虑自定义一个view,把它内部子控件的创建屏蔽起来,不让外界关心 l外界可以传入对应的模型数据给view,view拿到模型数据后给内部的子控件设置对应的数 2.封装的步骤 在initWithFrame:方法中添加子控件,提供便利构造方法  注意