zoukankan      html  css  js  c++  java
  • 安卓学习59

    今天学习了安卓的一些知识其中主要的是:

    View 和和SurfaceView

    在Android 游戏当中充当主要的除了控制类外就是显示类,在J2ME 中我们用Display 和Canvas 来实现这些,而Google

    Android 中涉及到显示的为view 类,Android 游戏开发中比较重要和复杂的就是显示和游戏逻辑的处理。这里我们说下

    android.view.View 和android.view.SurfaceView。SurfaceView 是从View 基类中派生出来的显示类,直接子类有

    GLSurfaceView 和VideoView,可以看出GL 和视频播放以及Camera 摄像头一般均使用SurfaceView,到底有哪些优势呢?

    SurfaceView 可以控制表面的格式,比如大小,显示在屏幕中的位置,最关键是的提供了SurfaceHolder 类,使用getHolder

    方法获取,相关的有:

    Canvas lockCanvas()

    Canvas lockCanvas(Rect dirty) 、

    void removeCallback(SurfaceHolder.Callback callback)、

    void unlockCanvasAndPost(Canvas canvas) //控制图形以及绘制,

    而在SurfaceHolder.Callback 接口回调中可以通过下面三个抽象类可以自己定义具体的实现,比如第一个更改格式和

    显示画面。

    abstract void surfaceChanged(SurfaceHolder holder, int format, int width, int height)

    abstract void surfaceCreated(SurfaceHolder holder)

    abstract void surfaceDestroyed(SurfaceHolder holder)

    对于Surface 相关的,Android 底层还提供了GPU 加速功能,所以一般实时性很强的应用中主要使用SurfaceView 而

    不是直接从View 构建,同时Android123 未来后面说到的OpenGL 中的GLSurfaceView 也是从该类实现。

  • 相关阅读:
    5860. 从双倍数组中还原原数组
    5847. 找到所有的农场组
    5846. 找到数组的中间位置
    442. 数组中重复的数据
    1987. 不同的好子序列数目
    1986. 完成任务的最少工作时间段
    1985. 找出数组中的第 K 大整数
    1984. 学生分数的最小差值
    学习内容整合
    spring-DI和spring-mybatis整合
  • 原文地址:https://www.cnblogs.com/092e/p/14916716.html
Copyright © 2011-2022 走看看