- 1、本文档共24页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
Android 图片处理与动画
第四章 图片处理
手机应用离不开图片。图片不但可以给应用带来美观的界面,而且可以为用户提供丰富的功能和体验,在当下很难想象一个完全由文本组成的手机软件;而在开发过程中,对图片的加载,缓存,显示等处理又会直接影响整个项目的应能。所以,在Android中对图片处理的重要性不言而喻。本章中读者应该着重掌握如下内容:
(1)使用Matrix对图片进行变换
(2)Bitmap的操作
(3)图片异步加载框架的使用
4.1 图片处理
4.1.1使用Style和Theme创建样式与主题
如果我们平时注意观察了那些成熟的Android应用,就会发现它们大都使用一种统一的风格和样式贯穿整个项目,例如统一的背景色或背景图片,统一的标题栏,统一的按钮样式,统一的字体等等。而这种“统一”就来自于Style(样式)和Theme(主题)的使用
1. Style
Style从本质上讲就是一些属性的集合,例如:layout_width,layout_height,textSize,textColor等等,Style将这些属性定义在xml文件中,供其他布局文件中的控件引用。其角色类似于页面中的css,将样式单独抽离出来,方便修改和重用。
Style的定义
Style定义在styles.xml中,创建在res/values/目录下,代码如下:
?xml version=1.0 encoding=utf-8?
resources
style name=itemTitle
item name=android:textSize25sp/item
item name=android:textStylebold/item
/style
/resources
上面代码中定义了一个名为itemTitle的样式,它包含textSize,textStyle两个属性。
Style的使用
Style可以在布局文件中通过名字来引用,代码如下:
TextView
style=@style/itemTitle
android:text=测试样式
/
?xml version=1.0 encoding=utf-8?
resources
color name=custom_background_color#FFFFFFFF/color
style name=RiverTheme parent=android:Theme.Light
item name=android:windowBackground@color/custom_background_color/item
/style
/resources
上面代码中定义了一个名为RiverTheme的主题,它包含一个windowBackgroud属性。这里继承了系统的theme.light,一般theme是继承的,这样可以对默认的风格不必重复定义。本例定义了一个背景色。这里背景色要单独声明,不能在item元素中直接写颜色值,会提示语法错误。
Theme的使用
Theme可以在Manifest文件中通过名字来引用,代码如下:
activity
android:theme=@style/RiverTheme
4.1.2 Matrix实现图片的几何操作
在Android中,若想对图片进行缩放,旋转等操作,就需要使用Matrix类。Matrix的操作,总共分为translate(平移),rotate(旋转),scale(缩放)和skew(倾斜)四种。下面的代码展示了实现缩放和旋转两种操作的步骤:
//根据图片资源创建相应的Bitmap对象
myBmp = BitmapFactory.decodeResource(getResources(), R.drawable.im01);
//获取图片的原始宽高
bmpWidth = myBmp.getWidth();
bmpHeight = myBmp.getHeight();
//实例化matrix
Matrix matrix = new Matrix();
//设定Matrix属性 x,y缩放比例为1.5
matrix.postScale(1.5F, 1.5F);
//顺时针旋转45度
matrix.postRotate(45.0F);
//根据Matrix的设定产生新的Bitmap对象
newBmp = Bitmap
您可能关注的文档
- ACCESS 练习一.doc
- ACCESS分习题.doc
- Access填选择题.doc
- Access 基础—报表设计.doc
- Access数精品课教案.doc
- ACCESS数转ORACLE数据库分享.docx
- Access模题_选择题_数据库与表.docx
- access笔(7章 宏).doc
- Access复(含答案).doc
- Access复题及答案.doc
- [吉林]2023年吉林省直中小学“强师”招聘34人笔试历年高频考点(难、易错点)附带答案详解.docx
- [台州]浙江台州市黄岩区市场监督管理局招聘编外工作人员笔试历年高频考点(难、易错点)附带答案详解.docx
- [台州]浙江台州市建设工程质量检测中心招聘编制外用工4人笔试历年高频考点(难、易错点)附带答案详解.docx
- [台州]浙江台州椒江区大陈镇综合执法队招聘笔试历年高频考点(难、易错点)附带答案详解.docx
- [合肥]2023年安徽合肥市公安局第二批招聘警务辅助人员543人笔试历年高频考点(难、易错点)附带答案详解.docx
- [吉安]2023年江西吉安市大学生乡村医生专项招聘笔试历年高频考点(难、易错点)附带答案详解.docx
- [吉安]2024年江西吉安市中心人民医院招聘卫生专业技术人才73人笔试历年高频考点(难、易错点)附带答案详解.docx
- [合肥]2023年安徽医科大学管理岗和专业技术辅助岗招聘46人笔试历年高频考点(难、易错点)附带答案详解.docx
- [吉安]江西吉安市青原区人民医院人才引进笔试历年高频考点(难、易错点)附带答案详解.docx
- [台州]浙江台州温岭市交通运输局招聘编外人员笔试历年高频考点(难、易错点)附带答案详解.docx
文档评论(0)