Java 平移后坐标错误
我的设备的分辨率是Java 平移后坐标错误,java,android,animation,webview,android-animation,Java,Android,Animation,Webview,Android Animation,我的设备的分辨率是1080*1920(纵向),我的网络视图的大小是1080*960 我在WebView上使用TranslateAnimation将其从y=0转换为y=960 TranslateAnimation animation = new TranslateAnimation(0f, 0f, 0f, 960f); animation.setDuration(300); animation.setFillAfter(true); webview.startAnimation(animatio
1080*1920(纵向)
,我的网络视图的大小是1080*960
我在WebView上使用TranslateAnimation将其从y=0转换为y=960
TranslateAnimation animation = new TranslateAnimation(0f, 0f, 0f, 960f);
animation.setDuration(300);
animation.setFillAfter(true);
webview.startAnimation(animation);
Android帮助我将webview绘制到y=960,但我无法触发y范围[9601920]
中的任何触摸事件,相反,我的触摸事件是在y范围[0960]
中触发的
似乎有些控件组件或其他东西没有用webview转换为y=960
是否有任何方法将控件也转换为y=960,或者推荐其他更好的解决方案
非常感谢。
TranslateAnimation
为矩阵设置动画,而不是视图本身。所以,你最终看到了一个错觉:你看到了一个视图
,它实际上有其他坐标
动画结束后,您需要更改WebView
坐标,或者可以使用fluent API而不是TranslateAnimation
:
webview.animate()
.y(960f)
.setDuration(300);
谢谢你的回复。而且,这条线对我也有帮助。