开发者

Always show zoom controls in WebView

Is there any way to always show zoom controls in webview? I found this: Always show zoom controls on a MapView but that's for the mapview. I want them to always be visible.

    super.onCreate(savedInstanceState);
    super.loadUrl("file:///android_asset/www/index.html");
    WebSettings ws = super.appView.getSe开发者_高级运维ttings();
    ws.setSupportZoom(true);
    ws.setBuiltInZoomControls(true);


setDisplayZoomControls() is only available from API 11 (Android 3). So you can't even consider using it until the vast majority of Android devices are 3 or above - which will not be for some years :(


Not sure if this will work as I never tried, but I checked the reference in developer.android.com

ws.setDisplayZoomControls(true);

If this worked dont forget to best answer this answer.

Also check this out: http://www.tutorialforandroid.com/2009/02/webview-with-zoomcontrols-in-android.html

good tutorial. (Debunks my theory)


None of the above worked for my. Only when I start draging the webview content the controls show up the first time. So what I did as a "quick fix" is in onStart() of my Fragment that holds the Dialog with the webview I call:

webview.invokeZoomPicker();

Example:

    @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();
            }
        }
    }

The controls light up only for a few seconds until they disappear again, by then the user in my case should have dragged the webview already.

0

上一篇:

下一篇:

精彩评论

暂无评论...
验证码 换一张
取 消

最新问答

问答排行榜