如何垂直缩放视图?

时间:2019-12-18 23:05:03

标签: android

我正在尝试垂直放置旋转和缩放视图的中心。不论是否旋转,这似乎都没有关系(如果我将缩放比例保持在1.0并旋转视图,并使用setX更改了视图的x位置,则它可以按预期工作)。

我知道容器的中心,也知道将视图保存在容器中的矩形的宽度。

我将View的X设置为:容器的中间-view / 2。 如果不按比例放大视图,此方法将起作用,但是如果按比例放大图像,则图像不会出现在中央,则始终不明显。

    // Get center of container
    val rect = Rect()
    containerView.getHitRect(rect)
    val width = rect.right - rect.left
    val centerContainerView = rect.left + width/2

    // At this point assume myView is rotated and scaled up (using any one of the many translate, scale, rotate on touch libraries)
    val viewRect = Rect()
    myView.getHitRect(viewRect)
    val viewWidth = viewRect.right - viewRect.left
    val newX = centerContainerView - viewWidth/2
    // Tap a button and run the below to center myView
    myView.x = newX.toFloat()

SetX

0 个答案:

没有答案