有两个问题:
1. 希望一张图片能根据指定的点如图盘左上角的点旋转,但是使用Imageview的setRotate(degree, top ,left)不起作用,仍是按照中心点旋转的,是什么原因?2. 重写了Imageview,通过onDraw来重画旋转的图片: protected void onDraw(Canvas canvas) { canvas.rotate(degree, top, left); super.onDraw(canvas); }
复制代码这样能满足按左上角的点旋转的要求,但又出现另一个问题, 旋转到原Imageview矩形大小以外的区域就没有画出来。这是什么原因,怎么解决?
1. 希望一张图片能根据指定的点如图盘左上角的点旋转,但是使用Imageview的setRotate(degree, top ,left)不起作用,仍是按照中心点旋转的,是什么原因?2. 重写了Imageview,通过onDraw来重画旋转的图片: protected void onDraw(Canvas canvas) { canvas.rotate(degree, top, left); super.onDraw(canvas); }
复制代码这样能满足按左上角的点旋转的要求,但又出现另一个问题, 旋转到原Imageview矩形大小以外的区域就没有画出来。这是什么原因,怎么解决?
解决方案 »
- 安卓最新开发工具安装—Android Studio
- Android 锁屏界面怎么增加快捷按钮
- 计数器显示
- 编译Android Froyo源码出现错误
- 关于在android上AspriseOCR的问题!急呀!!!
- 请问如何让radiogroup里面动态加载的radiobutton显示为“选中”状态
- 播放器里垂直滑动换歌曲的效果如何实现
- so库如何调试
- 关于imageView.setImageResource导致图像失真的问题
- 自定义的VIEWGROUP要怎么添加子view?是不是要重写addView?
- Android 2.1源代码中的contacts和contacts provider导入eclipse
- 关于MultiAutoCompleteTextView的删除字符串问题
if(degree == 180) canvas.translate(-this.getHeight(), this.getWidth());
2.因为显示多少是根据你自己实现的view的宽高来决定的,如果view是100x100的,那么如果图片在0,0起始点显示,转动后肯定就跑到(<0,<0)的位置了,不在view显示的范围内。因此只能说把view在onMeausre计算宽高的时候,宽高指定为屏幕的尺寸,这样在屏幕范围内就都能显示了。
2.因为显示多少是根据你自己实现的view的宽高来决定的,如果view是100x100的,那么如果图片在0,0起始点显示,转动后肯定就跑到(<0,<0)的位置了,不在view显示的范围内。因此只能说把view在onMeausre计算宽高的时候,宽高指定为屏幕的尺寸,这样在屏幕范围内就都能显示了。