我想在Xamarin/Android项目中使用C#端口TwoDScrollView。ImageView比例和宽度/高度变化
它工作正常。我们正在添加缩放手势(我们正在显示可由用户放大/缩小的图像)。这工作也很好。
问题是,TwoDScrollView依赖于ImageView.Width和ImageView.Height来进行计算,并且不会更改 - 在缩放后尝试滚动时会导致问题。在调整,我们正在做的:
fullscreenImageView.ScaleX = _scaleFactor;
fullscreenImageView.ScaleY = _scaleFactor;
var lp = fullscreenImageView.LayoutParameters;
lp.Width = (int) (fullscreenImageView.Drawable.IntrinsicWidth * _scaleFactor);
lp.Height = (int) (fullscreenImageView.Drawable.IntrinsicHeight * _scaleFactor);
fullscreenImageView.RequestLayout(); //the request layout was just a test,
// it doesn't work either way
我们可以看到如何layoutparameter宽度和高度的变化,但View.Width和View.Height永不改变......它始终是我们加载的原始图像的尺寸。我们如何才能做出更新? (一种解决方案是缩放位图并将其分配给imageview,但这很糟糕并且速度很慢)。
谢谢。
这实际上改变了大小。谢谢。 – rufo