Phonegap ChildBrowser插件:禁用/隐藏位置栏中的URL,但不是后退/前进/退出按钮

有没有办法隐藏或禁用位置栏中的URL字段? 在我的情况下,设备是作为信息亭浏览器运行的平板电脑,因此只允许一个URL。

我通过将ChildBrowser.java中的代码更改为来修复此问题

private void navigate(String url) { InputMethodManager imm = (InputMethodManager)this.ctx.getSystemService(Context.INPUT_METHOD_SERVICE); imm.hideSoftInputFromWindow(edittext.getWindowToken(), 0); if (!url.startsWith("http")) { this.webview.loadUrl("http://" + url); } this.webview.loadUrl("http://www.my-only-allowed-site.example.org"); this.webview.requestFocus(); } 

这很好用,但不是很好。 您仍然可以看到该url。 我希望有这些可能的解决方案:
1)完全隐藏URL字段
2)单击URL字段时隐藏软键盘
3)将URL字体颜色设置为黑色

任何想法?
提前致谢

如果您修改插件的源代码,则可以通过修改插件的源代码隐藏url字段和关闭按钮,并注释掉以下行:

 toolbar.addView(back); //shows the back button toolbar.addView(forward); //shows the forward button //toolbar.addView(edittext); //shows the URL - comment this line out to hide the URL toolbar.addView(close); //shows the close button 

编辑 :哎呀,我刚从你的评论中看到你以同样的方式想出来了!

我对Phonegap一无所知,但我假设您使用的是标准的Android WebView

如果您看到URL栏,则通常意味着正在调用默认系统浏览器来处理页面加载。 为了防止这种情况,请按如下方式设置WebViewClient

 this.webview.setWebViewClient(new WebViewClient() { public boolean shouldOverrideUrlLoading(WebView view, String url) { return false; } }); 

主机应用程序调用shouldOverrideUrlLoading(...)方法,以查看它是否应该通过使用活动管理器来查找合适的应用程序(通常是股票浏览器应用程序)来覆盖加载。 返回false意味着WebView实例想要处理自己的URL加载,您根本不会看到URL栏。

编辑:如果它修复了它但也丢失了导航按钮,那么我建议您保留自己的历史记录集合并提供自己的后退/前进/退出按钮。