如何在Android webview中没有搜索栏的情况下显示Google搜索结果?

时间:2015-02-03 04:13:24

标签: java android webview textview

我在显示搜索结果的活动中有一个网页浏览(比方说来自google.com)。 但是,我不需要Google搜索字段和字母“Web,图像,视频......”以及webview中显示的灰色线条。 有什么方法可以达到这个目的? (换句话说,如果这是一个解决方案,如何阻止webview的顶部。还有其他方法,比如加载不带搜索栏的不同搜索结果页面吗?在哪里找到它?) 这是我当前的布局文件。 (如果有必要,我愿意删除顶部的textview)。谢谢。

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="fill_parent"
    android:layout_height="fill_parent"
    android:orientation="vertical" >

<TextView
    android:layout_width="fill_parent"
    android:layout_height="wrap_content"
    android:paddingBottom="10dp"
    android:text="@string/hello"
    android:textSize="20sp" />

<WebView
    android:id="@+id/webView1"
    android:layout_width="match_parent"
    android:layout_height="match_parent" />
</LinearLayout>

此外,我还看到专业应用程序只在带有新闻结果的容器中显示新闻。他们是如何实现这一目标的?

1 个答案:

答案 0 :(得分:0)

您可以通过使用javascript阻止HTML元素来实现此目的。 只需调用WebViewClient的(例如)onLoadResource方法,并使用以下javascript删除要删除的元素。您需要检查元素并获取其TagName(例如div,section,a,header,body)

示例:

        webview.setWebViewClient(new WebViewClient() {
        public void onLoadResource(WebView view, String url) {
            super.onLoadResource(view, url);
            if (url.equals("www.google.com")) {
                view.loadUrl("javascript:(function() { " +
                        "document.getElementsByTagName('div')[26].style.display = 'none'; " +
                        "})()");
                }
            }
        });

第26个div是移动设备上的灰色菜单栏(您需要从0开始计数) 初始化WebViewClient后,您需要导航到谷歌。此外,如果您想删除更多元素,请获取chrome usb调试开发工具并找出哪些元素具有哪个标记名,然后复制粘贴此文件&#34; document.getElements ...&#34;再次排队并改变&#34; div&#34;无论你想要删除什么!括号中的数字表示HTML代码从上到下的标记。

编辑: 如果您使用设备检查Google页面的代码,它将如下所示:http://prntscr.com/62jfnm如果您将鼠标悬停在第一行的第一行上

            webview.setWebViewClient(new WebViewClient() {
        public void onLoadResource(WebView view, String url) {
            super.onLoadResource(view, url);
            if (url.equals("www.google.com")) {
                view.loadUrl("javascript:(function() { " +
                        "document.getElementsByTagName('div')[26].style.display = 'none'; " +
                        "document.getElementsByTagName('form')[0].style.display = 'none'; " +
                        "})()");
                }
            }
        });

瞧:http://prntscr.com/62jj8t我们有一个几乎空白的谷歌页面:)