一.图形与图像处理
| ImageView 显示普通静态图片
| AnimationDrawable 开发逐帧动画
| <animation-lis.../>的子元素<item.../>中定义动画所有帧,并制定持续时间
| Animation 对普通图片使用补减动画 定义开始结束关键帧,Android会自动完成动画
| AlphaAnimation 透明度改变的动画
| ScaleAnimation 大小缩放的动画
| TranslateAnimation 位移变化的动画
| RotateAnimation 旋转动画
| 其中补帧多少,什么时间补帧.需要借助Interpolater
| LinearInterpolater 动画以均匀的速度改变
| AccelerateInterpolater 动画在开始的地方较慢,然后开始加速
| AccelerateDecelerateInterpolater 动画在开始结束的地方较慢,中间的地方较快
| CycleInterpolater 动画循环播放特定的次数,变化速度按正弦曲线改变
| DecelerateInterpolater 动画在开始的地方较快,然后组件减慢
| Animator 属性动画
| ValueAnimator 属性动画主要的时间引擎,他负责计算各个帧的属性值
| ObjectAnimator ValueAnimator的子类,允许程序员对指定对象的属性执行动画
| AnimatorSet 用于组合多个Animator,并指定多个Animator是按次序播放还是同时播放
| Evalueator 计算器,控制动画如何计算属性
| IntEvalueator 用于计算int类型属性值的计算器
| FloatEvalueator 用于计算float类型属性值的计算器
| ArgbEvalueator 用于计算十六进制形式表示的颜色值的计算器
| TypeEvalueator 计算器接口,可以实现该接口自定义计算器
| Bitmap
| boolean isRecycled() 返回该Bitmap对象是否已被回收
| void recycle() 强制一个Bitmap对象立即回收自己
| Bitmap.createBitmap(Bitmap source,int x,int y,int width,int height)
| Bitmap.ScaledBitmap(Bitmap src,int width,int height,boolean filter) 对原位图进行缩放,缩放成宽width高height的新位图
| Bitmap.createBitmap(int width,int height,Bitmap.Config config) 创建一个宽width高height的新位图
| Bitmap.createBitmap(Bitmap source,int x,int y,int width,int height,Matrix m,boolean filter) 从原图(x,y)坐标开始,挖取长为width高为heigth的一块出来,创建新的 Bitmap对象并按照Matrix指定的规则进行变换
| BitmapDrawable 封装一个Bitmap对象
| BitmapFactory 工具类,用来解析,创建Bitmap对象
| decodeByteArray(byte[] b,int i,int len) 从指定数组的i位置开始截取长度为len的字节数据解析成Bitmap对象
| decodeFile(String pathName) 从pathName指定的文件中解析创建Bitmap对象
| decodeFileDescriptor(FileDescriptor fd) 用于从FileDescriptor对应的文件中解析,创建Bitmap对象
| decodeResource(Resources res,int id) 用于根据给定的资源id从指定的资源文件中解析,创建Bitmap对象
| decodeStream(InputStream is) 用于从指定的输入流中解析,创建Bitmap对象
| WallpaperManager 改变手机壁纸
| setBitmap(Bitmap bitmap) 将壁纸设为bitmap所代表的位图
| setResource(int resid) 将壁纸设为resid所代表的图片
| setStream(InputStream data) 将壁纸设为data所代表的图片
| WallpaperService 动态壁纸
| 1开发一个子类继承WallpaperService基类
| 2继承WallpaperService基类时必须重写onCreateEngine()方法,该方法返回WallpaperService.Engine子类对象
| 3 需要实现WallpaperService.Engine子类,并重写其中的public void onVisibilityChanged(boolean visible),public void onOffsetsChanged()方法
因为WallpaperService.Engine子类采取了与SurfaceView相同的绘图机制,因此选择性的重写SurfaceHolder.Callback中的3个方法
| 为service配置权限
| android:permission="android.permission.BIND_WALLPAPER"(service标签内属性)
| <meta-data android:name="android.service.wallpaper" android:resource="@xml/livewallpaper" />
| 添加程序快捷方式
| 创建一个添加快捷方式的Intent,该Intent的Action属性应该为com.android.launcher.action.INSTATLL_SHORTCUT
| 通过为该Intent添加Extra属性来设置快捷方式的标题,图标以及快捷方式对应启动的程序
| 调用sendBroadcast()方法发送广播即可添加快捷方式
| 管理桌面控件
| 桌面控件是通过Broadcast形式控制的,因此每个桌面控件都对应一个BroadcastReceiver.
| AppWidgetProvider BroadcastReceiver子类,开发桌面控件继承该类即可
| onUpdate() 负责更新桌面控件的方法
| 重写该方法步骤
| 1 创建一个RemoteViews对象,创建该对象时可以指定加载界面布局文件
| 2 如需修改上一步布局文件内容可通过RemoteViews对象进行更改
| RemoteViews Android 4.0 新增setRemoteAdapter(int viewid,Intent intent) 使用Intent更新RemoteViews中viewid对应的控件
| 3 创建一个ComponentName对象
| 4 调用AppWidgetMessage更新桌面控件
| AppWidgetProvider本质是一个BroadcastReceiver.
需要在AndroidManifest.xml中使用<receiver.../>元素配置相应的<intent-filter../>.<meta-data.../>
| <intent-filter>
<action android:name="android.appwidget.action.APPWIDGET_UPDATE">
</intent-filter>
<meta-data android:name="android.appwidget.provider" android.resource="@xml/appwidget_provider">
| onDeleted() 当一个或多个桌面控件被删除时回调该方法
| onEnabled() 当接收到ACTION_APPWIDGET_ENABLED Broadcast时回调该方法
| onDisabled() 当接收到ACTION_APPWIDGET_DISABLED Broadcast时回调该方法
二.绘图
| Canvas 代表依附指定View的画布
|drawBitmapMesh 扭曲图像
| Paint 用于设置绘制风格,包括画笔颜色,画笔笔触粗细,填充风格等
| Matrix 控制变换(矩阵工具类)
| SurfaceView 代替View在游戏中使用
| SurfaceHolder用于向关联的SurfaceView上绘图(getHolder获取SurfaceView关联的SurfaceHolder)
| Canvas lockCanvas() 锁定整个SurfaceView对象 获取该Surface上的Canvas
| Canvas lockCanvas(Rect dirty) 锁定SurfaceView上的Rect划分的区域,获取该Surface上的Canvas
| unlockCanvasAndPost(canvas) 释放绘图,提交所绘制的图形
| ImageView 显示普通静态图片
| AnimationDrawable 开发逐帧动画
| <animation-lis.../>的子元素<item.../>中定义动画所有帧,并制定持续时间
| Animation 对普通图片使用补减动画 定义开始结束关键帧,Android会自动完成动画
| AlphaAnimation 透明度改变的动画
| ScaleAnimation 大小缩放的动画
| TranslateAnimation 位移变化的动画
| RotateAnimation 旋转动画
| 其中补帧多少,什么时间补帧.需要借助Interpolater
| LinearInterpolater 动画以均匀的速度改变
| AccelerateInterpolater 动画在开始的地方较慢,然后开始加速
| AccelerateDecelerateInterpolater 动画在开始结束的地方较慢,中间的地方较快
| CycleInterpolater 动画循环播放特定的次数,变化速度按正弦曲线改变
| DecelerateInterpolater 动画在开始的地方较快,然后组件减慢
| Animator 属性动画
| ValueAnimator 属性动画主要的时间引擎,他负责计算各个帧的属性值
| ObjectAnimator ValueAnimator的子类,允许程序员对指定对象的属性执行动画
| AnimatorSet 用于组合多个Animator,并指定多个Animator是按次序播放还是同时播放
| Evalueator 计算器,控制动画如何计算属性
| IntEvalueator 用于计算int类型属性值的计算器
| FloatEvalueator 用于计算float类型属性值的计算器
| ArgbEvalueator 用于计算十六进制形式表示的颜色值的计算器
| TypeEvalueator 计算器接口,可以实现该接口自定义计算器
| Bitmap
| boolean isRecycled() 返回该Bitmap对象是否已被回收
| void recycle() 强制一个Bitmap对象立即回收自己
| Bitmap.createBitmap(Bitmap source,int x,int y,int width,int height)
| Bitmap.ScaledBitmap(Bitmap src,int width,int height,boolean filter) 对原位图进行缩放,缩放成宽width高height的新位图
| Bitmap.createBitmap(int width,int height,Bitmap.Config config) 创建一个宽width高height的新位图
| Bitmap.createBitmap(Bitmap source,int x,int y,int width,int height,Matrix m,boolean filter) 从原图(x,y)坐标开始,挖取长为width高为heigth的一块出来,创建新的 Bitmap对象并按照Matrix指定的规则进行变换
| BitmapDrawable 封装一个Bitmap对象
| BitmapFactory 工具类,用来解析,创建Bitmap对象
| decodeByteArray(byte[] b,int i,int len) 从指定数组的i位置开始截取长度为len的字节数据解析成Bitmap对象
| decodeFile(String pathName) 从pathName指定的文件中解析创建Bitmap对象
| decodeFileDescriptor(FileDescriptor fd) 用于从FileDescriptor对应的文件中解析,创建Bitmap对象
| decodeResource(Resources res,int id) 用于根据给定的资源id从指定的资源文件中解析,创建Bitmap对象
| decodeStream(InputStream is) 用于从指定的输入流中解析,创建Bitmap对象
| WallpaperManager 改变手机壁纸
| setBitmap(Bitmap bitmap) 将壁纸设为bitmap所代表的位图
| setResource(int resid) 将壁纸设为resid所代表的图片
| setStream(InputStream data) 将壁纸设为data所代表的图片
| WallpaperService 动态壁纸
| 1开发一个子类继承WallpaperService基类
| 2继承WallpaperService基类时必须重写onCreateEngine()方法,该方法返回WallpaperService.Engine子类对象
| 3 需要实现WallpaperService.Engine子类,并重写其中的public void onVisibilityChanged(boolean visible),public void onOffsetsChanged()方法
因为WallpaperService.Engine子类采取了与SurfaceView相同的绘图机制,因此选择性的重写SurfaceHolder.Callback中的3个方法
| 为service配置权限
| android:permission="android.permission.BIND_WALLPAPER"(service标签内属性)
| <meta-data android:name="android.service.wallpaper" android:resource="@xml/livewallpaper" />
| 添加程序快捷方式
| 创建一个添加快捷方式的Intent,该Intent的Action属性应该为com.android.launcher.action.INSTATLL_SHORTCUT
| 通过为该Intent添加Extra属性来设置快捷方式的标题,图标以及快捷方式对应启动的程序
| 调用sendBroadcast()方法发送广播即可添加快捷方式
| 管理桌面控件
| 桌面控件是通过Broadcast形式控制的,因此每个桌面控件都对应一个BroadcastReceiver.
| AppWidgetProvider BroadcastReceiver子类,开发桌面控件继承该类即可
| onUpdate() 负责更新桌面控件的方法
| 重写该方法步骤
| 1 创建一个RemoteViews对象,创建该对象时可以指定加载界面布局文件
| 2 如需修改上一步布局文件内容可通过RemoteViews对象进行更改
| RemoteViews Android 4.0 新增setRemoteAdapter(int viewid,Intent intent) 使用Intent更新RemoteViews中viewid对应的控件
| 3 创建一个ComponentName对象
| 4 调用AppWidgetMessage更新桌面控件
| AppWidgetProvider本质是一个BroadcastReceiver.
需要在AndroidManifest.xml中使用<receiver.../>元素配置相应的<intent-filter../>.<meta-data.../>
| <intent-filter>
<action android:name="android.appwidget.action.APPWIDGET_UPDATE">
</intent-filter>
<meta-data android:name="android.appwidget.provider" android.resource="@xml/appwidget_provider">
| onDeleted() 当一个或多个桌面控件被删除时回调该方法
| onEnabled() 当接收到ACTION_APPWIDGET_ENABLED Broadcast时回调该方法
| onDisabled() 当接收到ACTION_APPWIDGET_DISABLED Broadcast时回调该方法
二.绘图
| Canvas 代表依附指定View的画布
|drawBitmapMesh 扭曲图像
| Paint 用于设置绘制风格,包括画笔颜色,画笔笔触粗细,填充风格等
| Matrix 控制变换(矩阵工具类)
| SurfaceView 代替View在游戏中使用
| SurfaceHolder用于向关联的SurfaceView上绘图(getHolder获取SurfaceView关联的SurfaceHolder)
| Canvas lockCanvas() 锁定整个SurfaceView对象 获取该Surface上的Canvas
| Canvas lockCanvas(Rect dirty) 锁定SurfaceView上的Rect划分的区域,获取该Surface上的Canvas
| unlockCanvasAndPost(canvas) 释放绘图,提交所绘制的图形