cordova 始终在WebView中显示缩放控件

jaql4c8m  于 2023-04-21  发布在  其他
关注(0)|答案(3)|浏览(157)

有没有办法在webview中始终显示缩放控件?我发现了这个:Always show zoom controls on a MapView但那是Map视图。我希望它们总是可见的。

super.onCreate(savedInstanceState);
    super.loadUrl("file:///android_asset/www/index.html");
    WebSettings ws = super.appView.getSettings();
    ws.setSupportZoom(true);
    ws.setBuiltInZoomControls(true);
r7xajy2e

r7xajy2e1#

setDisplayZoomControls()只能在API 11(Android 3)中使用。所以你甚至不能考虑使用它,直到绝大多数Android设备都是3或更高版本-这在几年内都不会发生:(

31moq8wy

31moq8wy2#

以上这些都不适用于我的。只有当我开始拖动webview内容时,控件才会第一次显示。所以我做的“快速修复”是在我的Fragment的onStart()中,它包含我调用的webview的Dialog:

webview.invokeZoomPicker();

示例:

@Override
    public void onStart(){
        super.onStart();
        DialogFragment dialog = this;
       //...stuff
        if(dialog.getDialog()!= null && dialog.getDialog().getWindow()!=null){
            //...more stuff
            View v = dialog.getView();
            if(v!=null){
                //invoke controls on start once, they stay active a few seconds:
                WebView webview =v.findViewById(R.id.frag_dlg_WebView);
                webview.invokeZoomPicker();
            }
        }
    }

控件只亮了几秒钟,直到它们再次消失,到那时,在我的情况下,用户应该已经拖动了webview。

neskvpey

neskvpey3#

不确定这是否会工作,因为我从来没有尝试过,但我检查了参考developer.android.com

ws.setDisplayZoomControls(true);

还可以看看这个:https://web.archive.org/web/20210127130931/http://www.tutorialforandroid.com/2009/02/webview-with-zoomcontrols-in-android.html
很好的教程。(揭穿我的理论)

相关问题