zoukankan      html  css  js  c++  java
  • 【Android】第21章 2D图形和动画

    分类:C#、Android、VS2015;

    创建日期:2016-03-19

    一、简介

    Android系统定义了一系列独立的图形处理类,其中,2D图形处理类分别位于以下命名空间:

    Android.Graphices

    Android.Graphics.Drawable.Shapes

    Android.View.Animation

    3D图形的处理类位于Android.Opengl命名空间下。

    总体来说,Android的Graphics技术大致可以分为两大类:图形和动画。

    图形又被进一步分为2D图形和3D图形。

    2D图形处理基本可以分为两类:一类是静态图形处理,用于处理一些不经常变化的图片,比如图标、Logo、动画等,一般将这些图形作为资源文件添加到项目中(Resources/Drawable/、Resources/anim/);另一类是动态图形处理,即将经常变化的图片(大小、位置、形状)不停地定期复制绘制,如游戏中的各种场景、任务和道具等。

    3D图形则通过大量的可用内置框架(如针对移动版本的OpenGL ES)和其他第三方框架(如MonoGame,兼容XNA的跨平台工具包)来实现。

    这一节我们主要学习Android内置的2D绘图和动画基本技术。

    1、2D Graphices基本概念

    Android 提供了创建2D图形的两个不同的API。

    一是高级别的用法,即通过在xml文件中声明画板资源来使用它。即在XML文件中利用画板资源嵌入绘图指令,或者以编程方式创建自定义图形。

    二是低级别的API,一般在Canvas对象中使用它,最常用的是在位图上绘图并对其显示的内容进行细粒度的控制。

    2、动画基本概念

    除了2D图形技术以外,Android 还提供了几种创建动画的方法:

    • Drawable Animations – 画板动画。提供了按帧播放的简单动画API,指定以后,Android就会按顺序加载和显示可绘制资源的序列,播放效果很像在播放卡通(cartoon)漫画。
    • View Animations - 视图动画。Android原创的动漫API,在安卓系统的所有版本中都可用。此API仅限于在View对象中执行简单的转换,这些转换文件一般在/Resources/anim文件夹中定义。
    • Property Animations – 属性动画。这是从Android 3.0开始引入的API,可对任何对象的属性进行动画处理(包括View)。这种灵活性允许动画封装在不同的类中,使代码共享更加方便。

    注意:View动画仅适用于早期的Android 3.0(API 11)版本提供的API。除此之外,其他情况都应该用属性动画提供的API来实现。换言之,虽然这三种动画都可用,但只要有可能,都应该优先考虑用属性动画来实现。

    二、本章示例主界面

    1、运行截图

    image

    2、ch.cs文件中相关的代码

    chItems.Add(new Chapter()
    {
        ChapterName = "第21章 2D图形和动画",
        ChapterItems = new ChItem[]
        {
            new ChItem { type=typeof(ch2101MainActivity), Title="例21-1 画板基本语法", Desc = "演示画板资源(Drawable Resource)的基本用法" },
            new ChItem { type=typeof(ch2102MainActivity), Title="例21-2 画布基本语法", Desc = "演示画布(Canvas)的基本用法" },
            new ChItem { type=typeof(ch2103MainActivity), Title="例21-3 动画基本语法", Desc = "演示动画(animation)的基本用法" },
            new ChItem { type=typeof(ch2104ZoomActivity), Title="例21-4 图片动画缩放", Desc = "演示图片动画缩放的基本用法(点击看大图)" },
        }
    });
  • 相关阅读:
    基于项目中遇到的技术问题,谈谈SharedPreferences的使用的注意问题
    mongodb数据库从库同步主库维护js脚本
    MongoDB数据库日志备份压缩脚本
    mongodb数据库磁盘碎片整理。
    mongodb表字段处理生成域名字段
    根据当前进程号,获取进程下线程数目
    mongodb mapreduce示例
    MongoDB数据库库级锁研究分析
    mongodb库表信息监控脚本
    利用JAVA设计一个可视化日历
  • 原文地址:https://www.cnblogs.com/rainmj/p/5294763.html
Copyright © 2011-2022 走看看