游戏在Android上运行时,在AndEngine GLES 2中显示webview

时间:2013-05-20 07:14:16

标签: android andengine game-engine

我在游戏运行时正在制作一款游戏我需要通过网络上的一些说明显示webview是否可能?

这些说明将一次又一次地显示,并且是动态的,因为它们来自服务器。

你可以帮我解决这个问题吗?我不能使用LayoutBaseGameActivity,因为我不想总是显示它们。

我想暂停游戏并显示可点击的网页视图。请帮忙。

2 个答案:

答案 0 :(得分:1)

您可以添加到游戏活动中以显示WebView并在需要时调用openWebViewURL或openWebViewHTML

@Override
protected void onSetContentView() {
    final FrameLayout frameLayout = new FrameLayout(this);
    final FrameLayout.LayoutParams frameLayoutLayoutParams =
            new FrameLayout.LayoutParams(FrameLayout.LayoutParams.FILL_PARENT,
                    FrameLayout.LayoutParams.FILL_PARENT);

    mRenderSurfaceView = new RenderSurfaceView(this);
    mRenderSurfaceView.setRenderer(mEngine, this);

    final android.widget.FrameLayout.LayoutParams surfaceViewLayoutParams =
            new FrameLayout.LayoutParams(super.createSurfaceViewLayoutParams());

    final FrameLayout.LayoutParams webViewLayoutParams =
            new FrameLayout.LayoutParams(FrameLayout.LayoutParams.WRAP_CONTENT, 100,
                    Gravity.CENTER_HORIZONTAL|Gravity.BOTTOM);

    webView = new WebView(this);

    frameLayout.addView(this.mRenderSurfaceView, surfaceViewLayoutParams);
    frameLayout.addView(webView, webViewLayoutParams);
    this.setContentView(frameLayout, frameLayoutLayoutParams);

    webView.setVisibility(webView.INVISIBLE);

}

private void openWebViewURL(String url) {

    webView.loadUrl(url);

    this.runOnUiThread(new Runnable() {
        @Override
        public void run() {
            webView.setVisibility(webView.VISIBLE);
        }
    });
}

private void openWebViewHTML(String html) {

    webView.loadData(html,"text/html", "en_US");

    this.runOnUiThread(new Runnable() {
        @Override
        public void run() {
            webView.setVisibility(webView.VISIBLE);
        }
    });
}

答案 1 :(得分:-2)

我建议你开始一个新的活动来显示网页。 用户完成后可以关闭活动。游戏中没有任何变化。 :d Hopte它可以帮助你:D