我的设备的分辨率为1080*960
,我的网页浏览量为from y=0 to y=960
我在WebView上使用TranslateAnimation将其翻译为TranslateAnimation animation = new TranslateAnimation(0f, 0f, 0f, 960f);
animation.setDuration(300);
animation.setFillAfter(true);
webview.startAnimation(animation);
。
y range [960, 1920]
Android帮助我将webview绘制到y = 960,但我无法触发y range [0, 960]
中的任何触摸事件,相反,我的触摸事件是在JSONObject
中触发的。
似乎某些控件组件或其他内容未通过webview转换为y = 960.
是否有任何方法可以将控件转换为y = 960,或推荐其他更好的解决方案?
非常感谢。
答案 0 :(得分:2)
TranslateAnimation
为矩阵设置动画,而不是View
本身。所以,你最终会看到一种幻觉:你看到View
实际上有其他坐标。
您需要在动画结束后更改WebView
坐标,或者您可以使用流畅的API代替TranslateAnimation
:
webview.animate()
.y(960f)
.setDuration(300);