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程序。