android Matrix.setRotate 和 postRotate的区别
2015-09-01 06:46
295 查看
今天在做一个模拟时钟的项目时,需要对指针进行旋转操作。开始使用的是setRotate()方法对指针图片进行旋转操作,之后又需要对指针进行位移,又使用了setTranslate()方法,发现旋转效果没有了,只有平移效果了。自己研究了半天,终于发现了问题的原因所在。
其实Matrix方法中的setRotate()方法会先清除该矩阵,即设为单位矩阵。之后设置旋转操作的,同样,setTranslate()等方法也是一样的。所以是不能叠加各种效果在一起的,因此会出现我上述的问题。
所以,如果是想多种效果同时使用的话,用postRotate(), postTranslate()等类似的矩阵变换方法吧。
其实Matrix方法中的setRotate()方法会先清除该矩阵,即设为单位矩阵。之后设置旋转操作的,同样,setTranslate()等方法也是一样的。所以是不能叠加各种效果在一起的,因此会出现我上述的问题。
所以,如果是想多种效果同时使用的话,用postRotate(), postTranslate()等类似的矩阵变换方法吧。
相关文章推荐
- Android自学笔记之Intent 页面跳转详解
- Android自学笔记之 Android五大布局之线性布局的功能、常用属性、用法
- Android自学笔记之Spinner下拉框的功能、使用
- Android ORM DB使用心得
- Android NDK开发(八)——应用监听自身卸载,弹出用户反馈调查
- Android系统缓存相关
- android studio下的NDK开发详解(一)
- Android简单自定义标题栏
- android SDK manager 无法获取更新版本列表
- Android Spinner
- Android中AsyncTask的依赖执行用法
- Android开发环境的建立
- Android Low Memory 测试工具 Eat Memory
- Android各种View的下拉刷新与加载更多
- android-wheel三级联动
- Android Api Demos登顶之路(五十四)Service LocalService Binding
- 如何获取到Android控件的高度
- Android 如何让EditText不自动获取焦点
- android:gravity和android:layout_Gravity的区别
- android中toast使用注意事