Java 在Android上创建游戏内Web浏览器

Java 在Android上创建游戏内Web浏览器,java,android,webview,Java,Android,Webview,在我的游戏中,我希望有一种“每日信息”功能。基本上,当用户点击主菜单中的“每日消息”按钮时,会在游戏中打开浏览器视图。当用户完成后,他点击“关闭”按钮,视图消失,返回游戏菜单 那么,是否可以动态创建浏览器视图?如果是,如何进行 您可能只需要使用WebView即可。当您希望它显示时,您可以将其视图状态设置为view.VISIBLE。当您希望它消失时,只需将其视图状态设置为view.GONE即可。您可以动态地在游戏中添加/删除a(或显示/隐藏它,随您的喜好而定) 有关更多信息,请参阅WebView教

在我的游戏中,我希望有一种“每日信息”功能。基本上,当用户点击主菜单中的“每日消息”按钮时,会在游戏中打开浏览器视图。当用户完成后,他点击“关闭”按钮,视图消失,返回游戏菜单


那么,是否可以动态创建浏览器视图?如果是,如何进行

您可能只需要使用WebView即可。当您希望它显示时,您可以将其视图状态设置为view.VISIBLE。当您希望它消失时,只需将其视图状态设置为view.GONE即可。

您可以动态地在游戏中添加/删除a(或显示/隐藏它,随您的喜好而定)

有关更多信息,请参阅WebView教程:


请确保为布局中的“关闭”按钮留出空间,也就是说,您不想将布局高度设置为“填充父项”。

以下内容也可用于对话框中

    public void setWebView() {
//WebViewClient is used if you want to capture stuff from the webview, like if a link was pressed
                WebViewClient yourWebClient = new WebViewClient() {
                    @Override
                    public boolean shouldOverrideUrlLoading(WebView view, String url) {
                        open_web = true;
                        if (!url.startsWith("http://") && !url.startsWith("https://")) {
                                url = "http://" + url;
                        }
                        Intent browserIntent = new Intent("android.intent.action.VIEW",
                                Uri.parse(url));
                        startActivity(browserIntent);
                        return true;
                    }
                };
                WebView wv = (WebView) findViewById(R.id.webview);
                wv.setWebViewClient(yourWebClient);
                String str = getHtml();
                wv.loadData(str, "text/html", "utf-8");
                wv.setBackgroundColor(0);
    }

    boolean isAsset = false;

    private String getHtml(){
        InputStream source = null;
        if (isAsset){
            source = getAssets().open("motd.html");
        } else {
            source = new FileInputStream(Environment.getExternalStorageDirectory() + "motd.html");
        }
    }

对findViewById的调用会假定webview的布局已经在某个地方定义了吗?如果没有呢?还可能吗?如果webview未在xml中定义,则可以添加webview程序。