HI,
当用户捏住并将手指移近/远离时,是否可以支持缩放WebView(类似于默认浏览器)。我使用2.2并尝试使用ScaleGestureDetector。问题是我似乎无法找到设置比例的方法。 WebView.getScale()返回通过zoomIn()和ZoomOut()更改的当前比例,但我找不到setScale()或默认情况下设置缩放的选项,让操作系统处理它。
安迪
答案 0 :(得分:6)
使用:
webview.getSettings().setBuiltInZoomControls(true);
进行捏缩放并在屏幕上放置默认的放大/缩小按钮。
答案 1 :(得分:2)
您需要在WebView中实现onTouchEvent(MotionEvent)。
然后在那个事件中,将MotionEvent传递给ScaleGestureDetector,以便它可以处理它,然后调用super。
class ScalableWebView extends WebView implements ScaleGestureDetector.OnScaleGestureListener
{
ScaleGestureDetector mScaleDetector = new ScaleGestureDetector(this, this);
public boolean onTouchEvent(MotionEvent event)
{
if(mScaleDetector.onTouchEvent(event))
return true;
return super.onTouchEvent(event);
}
boolean onScaleBegin(ScaleGestureDetector detector)
{
//handle scale event begin
}
boolean onScale(ScaleGestureDetector detector)
{
//handle scale event
}
boolean onScaleEnd(ScaleGestureDetector detector)
{
//handle scale event end
}
}
答案 2 :(得分:0)
有setScale
,试试这个:
webView.setInitialScale((int)(100 * webView.getScale());