Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/218.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Android Matrix preConcat还是postConcat?_Android_Kotlin - Fatal编程技术网

Android Matrix preConcat还是postConcat?

Android Matrix preConcat还是postConcat?,android,kotlin,Android,Kotlin,我正在使用kotlin进行Android开发 我在屏幕上有一个圆形和一个矩形 圆本身有一个矩阵 正方形是圆的计算边界,并映射到屏幕大小,因此它没有矩阵 现在,当我在屏幕上拖动时,我想将它们倾斜在一起。我想我应该把倾斜矩阵转换成圆。代码如下: _baseX = _bounds.centerX() _baseY = _bounds.top _square._matrix.setSkew((event

我正在使用kotlin进行Android开发

我在屏幕上有一个圆形和一个矩形

  • 圆本身有一个矩阵
  • 正方形是圆的计算边界,并映射到屏幕大小,因此它没有矩阵
现在,当我在屏幕上拖动时,我想将它们倾斜在一起。我想我应该把倾斜矩阵转换成圆。代码如下:

                _baseX = _bounds.centerX()
                _baseY = _bounds.top

                _square._matrix.setSkew((event.x - _baseX) / _bounds.height(), 0f, _baseX, _baseY)
                val m = Matrix(_originalMatrix)
                m.postConcat(_square._matrix)
                _circle._matrix = m
                _view.postInvalidate()
_originalMatrix是圆的复制矩阵,不会更改

但是,圆会向另一个方向倾斜:

我也试过了,但结果是一样的:

我知道倾斜矩阵是正确的,因为我看到正方形是正确倾斜的。这里的圆圈应该用什么?非常感谢