`
hzy3774
  • 浏览: 992343 次
  • 性别: Icon_minigender_1
  • 来自: 珠海
社区版块
存档分类
最新评论

Android在SurfaceView绘图

 
阅读更多

MainActivity

package com.example.surfacedemo;
 
 import android.os.Bundle;
 import android.app.Activity;
 import android.view.Menu;
 
 public class MainActivity extends Activity {
 
     @Override
     public void onCreate(Bundle savedInstanceState) {
         super.onCreate(savedInstanceState);
         setContentView(new MyView(this)); //设置显示MyView实例
     }
 
     @Override
     public boolean onCreateOptionsMenu(Menu menu) {
         getMenuInflater().inflate(R.menu.activity_main, menu);
         return true;
     }    
 }

 

MyView

package com.example.surfacedemo;
 
 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 MyView extends SurfaceView {
     
     SurfaceHolder sh;
 
     public MyView(Context context) {
         super(context);
         sh = getHolder();//得到Holder
         sh.addCallback(new Callback() {//创建回调
             
             public void surfaceDestroyed(SurfaceHolder holder) {//界面销毁时执行
                 
             }
             
             public void surfaceCreated(SurfaceHolder holder) {//界面创建后执行
                 Canvas canvas = sh.lockCanvas();
                 Paint paint=new Paint();
                 paint.setColor(Color.BLUE);
                 canvas.drawCircle(100,100, 20, paint);
                 sh.unlockCanvasAndPost(canvas);
             }
             
             public void surfaceChanged(SurfaceHolder holder, int format, int width,
                     int height) {//界面改变时执行
                 
             }
         });
     }
 
 }

 

分享到:
评论

相关推荐

    Android中SurfaceView截屏

    在Android开发中,`SurfaceView`是一个非常重要的视图组件,尤其在处理视频播放、游戏渲染等高性能图形操作时,它的优势在于拥有独立于主线程的渲染机制,能避免阻塞UI更新。然而,由于其特殊的性质,直接通过常规...

    Android双SurfaceView底部拍照,顶部绘图

    Android双SurfaceView底部拍照,顶部绘图,当SurfaceHolder对象的类型设置为SurfaceHolder.SURFACE_TYPE_PUSH_BUFFERS时就只能拍照不能绘制了。为了既能通过SurfaceView拍照又能在上面绘制图形,可以通过双...

    android之surfaceview学习示例

    在Android开发中,SurfaceView是一个非常重要的视图组件,它为开发者提供了在应用程序中实现高性能图形渲染的能力。SurfaceView的设计初衷是为了处理那些需要频繁更新且对性能要求较高的场景,如视频播放、游戏画面...

    android之surfaceview游戏开发

    首先,SurfaceView是Android系统提供的一个特殊的视图,它拥有自己的Surface对象,这个Surface位于窗口的最底层,允许开发者直接在其上进行硬件加速的绘图操作,从而避免了频繁更新UI导致的主线程阻塞。这对于需要...

    Android 通过SurfaceView 实现实时显示摄像头视频

    SurfaceView包含一个Surface对象,该对象存在于应用程序和系统窗口管理器之间,允许直接在硬件层面上进行绘图,从而避免了频繁的UI刷新导致的性能损失。在实时显示摄像头视频的场景中,这正是我们所需要的。 要实现...

    android-SurfaceView 测试Demo

    通过这个"android-SurfaceView 游戏测试Demo",开发者可以深入理解SurfaceView的工作原理,掌握如何在Android游戏中使用SurfaceView进行高效绘图,为用户提供流畅的视觉体验。同时,源码分析也能帮助开发者学习到...

    Android开发摄像头SurfaceView预览 背景画图(矩形和圆形) 实现(双surfaceview,顶层画矩形框,底层预览视频)

    Android开发摄像头SurfaceView预览 背景画图(矩形和圆形) 实现(双surfaceview,顶层画矩形框,底层预览视频); UI:三个按钮 预览 摄像 图片保存,预览界面 可以显示(矩形和圆形等图画)

    android中surfaceview控件的使用范例

    SurfaceView是Android系统提供的一种特殊视图,它拥有一个独立于应用程序主线程的Surface,可以在后台线程中进行绘图操作,从而避免阻塞UI线程。SurfaceView由两部分组成:一个是View,显示在界面上;另一个是...

    Android自定义SurfaceView——实现画板功能

    在Android开发中,自定义`SurfaceView`是一个常见的需求,特别是在需要进行高性能图形绘制或视频播放等场景。本示例中的“Android自定义SurfaceView——实现画板功能”旨在教你如何利用`SurfaceView`创建一个可以...

    Android使用SurfaceView实现墨迹天气的风车效果

    在Android应用开发中,视觉效果和用户体验是至关重要的。"Android使用SurfaceView实现墨迹天气的风车效果"是一个典型的案例,它展示了如何利用Android的SurfaceView组件来创建动态、流畅的动画效果,以模拟类似墨迹...

    android SurfaceView的基本用法

    在Android开发中,SurfaceView是一个非常重要的视图组件,它为高效显示动态视频或复杂的2D/3D图形提供了一个平台。SurfaceView拥有自己的独立渲染表面,与主线程的UI更新分离,使得高性能的图像处理成为可能。接下来...

    android surfaceview自定义拍照 绘制头像轮廓

    在Android开发中,`SurfaceView`是一个非常重要的组件,它提供了与硬件图形渲染直接交互的能力。这个项目"android surfaceview自定义拍照 绘制头像轮廓"是基于网上现有的示例代码进行了修改,用于实现一个自定义的...

    android View、SurfaceView Demo

    在Android开发中,View和SurfaceView是两种非常重要的视图组件,它们被广泛用于构建用户界面和处理图形绘制。这两个类都是Android系统提供用来显示动态内容的机制,但它们之间存在一些关键的区别。 **View组件** ...

    最简单的surfaceview画图和截图

    - 在SurfaceView的绘制操作中,我们通常在`surfaceChanged()`方法里初始化绘图环境,如设置画笔、颜色等。 2. **在SurfaceView上画图**: - 使用`SurfaceHolder.lockCanvas()`获取可绘图的Canvas对象。 - 在...

    Android_surfaceView与layout屏幕适配总结

    首先,`SurfaceView`是Android提供的一种特殊视图,它允许开发者在应用程序中直接进行硬件加速的图形绘制,如视频播放、游戏画面等高性能需求的场景。`SurfaceView`有自己的绘图表面,独立于应用程序的主线程,这...

    Android使用SurfaceView实现墨迹天气的风车效果-IT计算机-毕业设计.zip

    1. **SurfaceView**: SurfaceView是Android系统提供的一个特殊视图,用于在应用程序和操作系统之间提供一个独立的绘图表面。它在UI线程之外运行,适合处理高性能的图形绘制,如游戏或视频播放,确保不会阻塞主线程,...

    在surfaceview上放置控件

    在Android开发中,SurfaceView是一种特殊的视图,主要用于处理高性能的图形绘制,比如视频播放、游戏画面等。SurfaceView创建了一个独立的Surface,其后台线程可以无阻塞地进行绘图操作,提高了渲染效率。然而,由于...

    android SurfaceView游戏框架

    在Android平台上开发游戏时,SurfaceView是一个至关重要的组件,它为高效、低延迟的图形渲染提供了可能。SurfaceView是Android系统提供的一种特殊视图,它有自己的独立绘制表面,与主线程分离,使得游戏或者视频这类...

    在android中surfaceView的使用

    总的来说,SurfaceView是Android系统提供的一种高效绘图机制,它使得开发者能够在不阻塞主线程的情况下实现高性能的图像处理。理解其工作原理和使用技巧,对于优化应用性能,特别是涉及动态图形和视频的场景,至关...

    【Android基础】(12)SurfaceView绘图API详解

    在Android开发中,SurfaceView是一种特殊的视图,它允许开发者在独立于主线程的单独线程中进行高性能的图形绘制,常用于视频播放、游戏等需要频繁更新图像的应用场景。本篇文章将深入探讨SurfaceView的绘图API及其...

Global site tag (gtag.js) - Google Analytics