Как добавить веб-просмотр программно

У меня была проблема, когда вы хотите добавить веб-просмотр программно. Я пробовал так, но веб-просмотр не может появиться, когда кнопка уже могла появиться. Мне нужно решение для этого случая.

    //        sizeView
        LinearLayout.LayoutParams sizeView = new LinearLayout.LayoutParams(
                LinearLayout.LayoutParams.WRAP_CONTENT,
                LinearLayout.LayoutParams.MATCH_PARENT
        );


//        viewButton
        Button home = new Button(this);
        home.setText("HOME");

        Button profile = new Button(this);
        profile.setText("PROFILE");

        Button academic = new Button(this);
        academic.setText("ACADEMIC");

        Button register = new Button(this);
        register.setText("REGISTER");

        Button about = new Button(this);
        about.setText("ABOUT");

//        viewWEB
        WebView webView = new WebView(this);


//        sideLeft
        LinearLayout sideLeft = new LinearLayout(this);
        sideLeft.setOrientation(LinearLayout.VERTICAL);
        sideLeft.setLayoutParams(sizeView);
        sideLeft.setBackgroundColor(Color.GRAY);
        sideLeft.addView(home);
        sideLeft.addView(profile);
        sideLeft.addView(academic);
        sideLeft.addView(register);
        sideLeft.addView(about);

//        wrapper
        LinearLayout layWrap = new LinearLayout(this);
        layWrap.setBackgroundColor(Color.BLUE);
        layWrap.setOrientation(LinearLayout.HORIZONTAL);
        layWrap.addView(sideLeft);
        layWrap.addView(webView);
        setContentView(layWrap);

введите здесь описание изображения


person Fahruddin Yusuf Habibi    schedule 02.11.2016    source источник
comment
см. stackoverflow.com/questions/11221777/   -  person sasikumar    schedule 02.11.2016
comment
Опубликуйте скриншот своего отрендеренного макета... Вы вообще видите синий фон?   -  person Alex    schedule 02.11.2016


Ответы (2)


Ваш WebView правильно отображается. Просто включите необходимые функции, например включите javascript, и установите клиент Chrome и loadUrl, чтобы увидеть, как он работает...

Тем временем вы также можете проверить это, добавив строку ниже:

webView.loadData("<html><body>TEST</body></html>", "text/html", "utf-8");
person Myth    schedule 02.11.2016

    LinearLayout layWrap = new LinearLayout(this);
    layWrap.setBackgroundColor(Color.BLUE);
    layWrap.setOrientation(LinearLayout.HORIZONTAL);
    layWrap.addView(sideLeft);

    setContentView(layWrap);
    LinearLayout.LayoutParams layoutParams = new LinearLayout.LayoutParams(LinearLayout.LayoutParams.MATCH_PARENT,LinearLayout.LayoutParams.MATCH_PARENT);
    FrameLayout.LayoutParams linearlayoutParams = new FrameLayout.LayoutParams(FrameLayout.LayoutParams.MATCH_PARENT,FrameLayout.LayoutParams.MATCH_PARENT);
    layWrap.setLayoutParams(linearlayoutParams);

    layWrap.addView(webView);

    webView.setLayoutParams(layoutParams);
    webView.setBackgroundColor(Color.RED);
    // to enable javascripts
    webView.getSettings().setJavaScriptEnabled(true);
    webView.getSettings().setJavaScriptCanOpenWindowsAutomatically(true);
    webView.getSettings().setBuiltInZoomControls(true);
    // zoom if you want
    webView.getSettings().setSupportZoom(true);
    // to support url redirections
    webView.setWebViewClient(new WebViewClient());
    // extra settings
    webView.getSettings().setLoadWithOverviewMode(false);
    webView.getSettings().setUseWideViewPort(true);
    webView.setScrollContainer(true);
    // setting for lollipop and above
    if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.LOLLIPOP) {
        webView.getSettings().setMixedContentMode(WebSettings.MIXED_CONTENT_COMPATIBILITY_MODE);
        webView.getSettings().setMixedContentMode(WebSettings.MIXED_CONTENT_ALWAYS_ALLOW);
    }

    webView.loadUrl("http://www.facebook.com");

завершена загрузка веб-просмотра

person Parth Dave    schedule 02.11.2016