How to set WebView as non-fullscreen?

后端 未结 4 2104
野的像风
野的像风 2021-01-05 09:34

I am trying to use a WebView in my Android application. I am creating my webview in code-side (not in XML). My problem is; when I call loadUrl method of webview, the webview

相关标签:
4条回答
  • 2021-01-05 10:16

    @Mahtias Lin, please see my code to create and use WebView;

    WebView webView = new WebView(this);
    
    RelativeLayout.LayoutParams p = new RelativeLayout.LayoutParams(LayoutParams.FILL_PARENT, 416);
    
    WebSettings webSettings = webView.getSettings();
    webSettings.setSavePassword(false);
    webSettings.setSaveFormData(false);
    webSettings.setJavaScriptEnabled(true);
    
    webView.setLayoutParams(p);
    webView.loadUrl("http://www.google.com/");
    

    Above code is not set my webview to 416px height.

    @CommonsWare, I tried your suggested with following code and amazingly it works, thanks.

    webView.setWebViewClient(new WebViewClient() {  
       @Override  
       public boolean shouldOverrideUrlLoading(WebView view, String url)  
       {  
           view.loadUrl(url);
           return false;
    
        }  
     });  
    

    But this usage brought some new problems. When I override shouldOverrideURLLoading, the webview displays with no-addressbar, no-navigation (back, forward etc...)?

    And also, the webview doenst accept user inputs?

    Ok, I am editing my question :)

    I searched and I found the following additional set to make webview to able to get inputs;

    webView.requestFocus(View.FOCUS_DOWN);
    

    On the other hand, I guess I will create my own back, forward buttons and address-bar for my webview. I will also attach "what happened" to this thread when I create my buttons and address-bar.

    Best,

    0 讨论(0)
  • 2021-01-05 10:16
    WebView wb=new WebView();
    wb.setInitialScale(60);
    

    this is used for set layout of the emulator. 60 means % value. we can use 0% to 100%.

    0 讨论(0)
  • 2021-01-05 10:20

    Quite possibly what you are seeing is not your activity, but the Browser application, because the URL you linked to did a redirect. Use WebViewClient and shouldOverrideUrlLoading() to catch the redirect and send it back to your own WebView.

    0 讨论(0)
  • 2021-01-05 10:25

    See my reply and comments on how to show a webview inside an activity in the middle of screen

    Apply LayoutParams to your WebView or to the Layout (i.e. LinearLayout) that's surrounding the WebView, if any, i.e. setLayoutParams(LinearLayout.LayoutParams(200, 200));

    0 讨论(0)
提交回复
热议问题