如何添加&在我的Android应用程序中,WebView的操作栏按钮中的主页按钮?

时间:2017-06-09 08:37:33

标签: android webview webpage back

我制作了一个使用WebView显示移动网站的应用。我还添加了ProgressDialog,它出现在页面完成加载之前。我想添加一个背面和一个我的应用操作栏中的主页按钮。当在移动网站的主页中点击任何链接时,应显示这些按钮。当我们返回主页时消失(类似于Indeed Job search App)。

3 个答案:

答案 0 :(得分:0)

This page可能会对您有所帮助。

操作栏按钮的行为与溢出菜单的元素相似 只需在菜单资源文件中添加一个<item>,其属性为app:showAsAction="ifRoom"app:showAsAction="always"

根据android dev网站,你的xml应该是这样的:

<menu xmlns:android="http://schemas.android.com/apk/res/android" >

    <!-- "Mark Favorite", should appear as action button if possible -->
    <item
        android:id="@+id/action_back"
        android:icon="@drawable/ic_go_back"
        android:title="@string/action_back"
        app:showAsAction="ifRoom"/>

    <!-- Settings, should always be in the overflow -->
    <item android:id="@+id/action_settings"
          android:title="@string/action_settings"
          app:showAsAction="never"/>

</menu>

然后你必须为该按钮附加一个监听器:就像它在溢出菜单中一样处理。因此,您必须覆盖onOptionsItemSelected添加类似if (mWebView.canGoBack()) {mWebView.goBack();}

的内容

以下是代码:

@Override
public boolean onOptionsItemSelected(MenuItem item) {
    switch (item.getItemId()) {
        case R.id.action_back:
            if (mWebView.canGoBack()) {
                mWebView.goBack();
            }

        // ... other cases ...

    }
}

答案 1 :(得分:0)

只需在返回按钮和主页按钮上添加onClickListeners即可。

1。对于后退按钮的实现。

backButton.setOnClickListener(new View.OnClickListener() {
                        @Override
                        public void onClick(View view) {
                               if(webView.canGoBack()){ 
                                  webView.goBack();
                                 }

                        }
                });

2.对于主页按钮实现。

homeButton.setOnClickListener(new View.OnClickListener() {
                        @Override
                        public void onClick(View view) {

                                while(webView.canGoBack())
                                        {
                                                webView.goBack();

                                        }

                        }
                });

答案 2 :(得分:-1)

您可以根据网址更改的当前网址设置这两个菜单操作的可见性:

actionBack.setVisibility(yourWebView.getUrl().equals("www.yourHomePage.com") ? View.INVISIBLE : View.VISIBLE);