zoukankan      html  css  js  c++  java
  • android surfaceView与view使用小结

    两种方法都是实现画一个慢慢变大的圆, 自定义的view要sleep一下才能看到效果 . surfaceView不用. 可能与其两级缓存有关.
    _____________________________________最美分割线_________________________________________
    使用它主要就是
    SurfaceHolder sh = this.getHolder();--->1.得到SurfaceHolder
    Canvas canvas = sh.lockCanvas();---->2. 锁定画布
    Paint paint = new Paint();
    paint.setColor(Color.RED); ----->3. 在画布上干事
    canvas.drawCircle(100, 100, radius, paint);
    sh.unlockCanvasAndPost(canvas); ----->4. 解除锁定

    下面图片为全部代码.

    _____________________________________最美分割线__________________________________________

    view主要干活的是onDraw()方法.这个不用手动调(不像surfaceview还得还一个surfaceHolder.addCallback()方法)

    其实surfaceview里的surfaceHolder.addCallback()方法是不断的调用Draw()方法. 这个方法文档的解释:Manually render this view (and all of its children) to the given Canvas. The view must have already done a full layout before this function is called. When implementing a view, implementonDraw(android.graphics.Canvas) instead of overriding this method. If you do need to override this method, call the superclass version.

  • 相关阅读:
    Mongodb_文件存储
    Mongodb_技巧
    Blend_Effect
    WPF_界面_图片/界面/文字模糊解决之道整理
    ASP.NET Boilerplate 深入系列之:概述
    P1280 尼克的任务
    P1802 5倍经验日
    271. 杨老师的照相排列
    P1726 上白泽慧音
    P1983 [NOIP2013 普及组] 车站分级
  • 原文地址:https://www.cnblogs.com/olvo/p/2447214.html
Copyright © 2011-2022 走看看