问题描述
我正在开发一项功能,其中包括图像缩放,旋转和平移操作。所有这些操作对我来说都很好。
现在,我需要检查相对于父视图的位置。我开发了以下代码来获取缩放和平移后的视图位置。
private fun findViewPosition(view: View) {
val left = view.left.toFloat()
val top = view.top.toFloat()
val px = view.pivotX
val py = view.pivotY
val tx = view.translationX
val ty = view.translationY
val sx = view.scaleX
val sy = view.scaleY
val rx = view.rotationX
val ry = view.rotationY
val r = view.rotation
// Getting correct value for startX and startY after scale and translate.
// After the rotation,I'm not sure how to applied the formula.
val startX = left - (view.width * sx - view.width) / 2 + tx
val startY = top - (view.height * sy - view.height) / 2 + ty
Log.w("Start","$startX,$startY")
val endX = left + view.width + (view.width * sx - view.width) / 2 + tx
val endY = top + view.height + (view.height * sy - view.height) / 2 + ty
Log.w("End","$endX,$endY")
}
旋转视图后,我很难找到位置。如果有人可以帮助我,这将对我有很大帮助。
如果要尝试使用以下代码,请参见以下示例代码:AndroidViewScaleRotateTranslate.zip
谢谢!
解决方法
暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!
如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。
小编邮箱:dio#foxmail.com (将#修改为@)