GestureScaleListener を使用して WebView のフォント ズームを拡大しようとしています。私の WebView は Fragment 内にあります。フラグメントで GestureScaleListener を試してもうまくいきません。私のコード:
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
scaleGestureDetector = new ScaleGestureDetector(getActivity(), new simpleOnScaleGestureListener());
}
public boolean onTouchEvent(MotionEvent event) {
Toast.makeText(getActivity(), "scaling", Toast.LENGTH_SHORT).show();
scaleGestureDetector.onTouchEvent(event);
return true;
}
public class simpleOnScaleGestureListener extends SimpleOnScaleGestureListener {
@Override
public boolean onScale(ScaleGestureDetector detector) {
Toast.makeText(getActivity(), ""+detector.getScaleFactor(), Toast.LENGTH_SHORT).show();
WebView wv = (WebView) getView().findViewById(R.id.chaptercontent);
WebSettings settings = wv.getSettings();
settings.setTextZoom((int)(settings.getTextZoom() * detector.getScaleFactor()));
return true;
}
}
アクティビティで同じコードを試すと、正常に動作します。フラグメントで機能させるにはどうすればよいですか?