WebView ZoomButtonsController

时间:2016-05-06 13:35:06

标签: android android-webview

虽然有"不要保持活动"选项ON在开发人员设置中,我正在使用vWebView.getSettings().setBuiltInZoomControls(true);将网址加载到webview,结果我遇到了问题。

WindowManager: android.view.WindowLeaked: Activity pl.izmajlowiczl.zoomcontrolls.MainActivity has leaked window android.widget.ZoomButtonsController$Container{21639342 V.E..... ......I. 0,0-432,73} that was originally added here (...)

检查ZoomButtonsController代码后,我发现问题是在处理程序上发布延迟消息,这会在一段时间后隐藏缩放控件。

当我的视图破坏时,如何从ZoomButtonsController的处理程序中删除消息的任何想法? (这只是私人的)

或其他任何想法如何解决?

ZoomButtonsController class有mHandler,它处理延迟的MSG_DISMISS_ZOOM_CONTROLS消息

1 个答案:

答案 0 :(得分:0)

原因:调用活动完成但仍然可以看到缩放控件。

解决方案1:使用缩放缩放

  @Override
    public void finish() {
        ViewGroup view = (ViewGroup) getWindow().getDecorView();
        view.removeAllViews();
        super.finish();
    }

Soution 2:将此添加到您的活动中:

<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
        android:layout_width="0dp"
        android:layout_height="0dp"
        android:layout_alignRight="@id/tray_opener" >
    <EditText
        android:id="@+id/search_box"
        android:layout_width="25sp"
        android:layout_height="25sp"
        android:inputType="textUri"/>
</LinearLayout>