始终在WebView中显示缩放控件

时间:2011-07-28 22:50:19

标签: java android controls cordova zoom

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

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

3 个答案:

答案 0 :(得分:1)

setDisplayZoomControls()仅适用于API 11(Android 3)。所以你甚至不能考虑使用它,直到绝大多数Android设备都是3或更高 - 这几年都不会出现:(

答案 1 :(得分:0)

不确定这是否可行,因为我从未尝试过,但我检查了developer.android.com中的引用

ws.setDisplayZoomControls(true);

如果这样做有效,别忘了最好回答这个答案。

同时检查一下: http://www.tutorialforandroid.com/2009/02/webview-with-zoomcontrols-in-android.html

很好的教程。 (揭穿我的理论)

答案 2 :(得分:0)

以上都不适合我。仅当我开始拖动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();
            }
        }
    }

控件仅点亮几秒钟,直到它们再次消失为止,届时我的用户应该已经拖动了网络视图。