显示基于HTML标题的工具栏标题?

时间:2016-01-01 08:28:26

标签: android material-design android-toolbar

我正在尝试设置材质设计中工具栏的标题。在正常情况下,我知道我可以使用mActionBarToolbar.setTitle。但是,我所拥有的是WebView,它将打开不同的网页。我是否可以设置工具栏标题,该工具栏将根据HTML页面中的<title></title>部分自动更改?

我尝试使用以下代码,但标题变为空。

mToolbar = (Toolbar) findViewById(R.id.toolbar);

        setSupportActionBar(mToolbar);
        getSupportActionBar().setDisplayHomeAsUpEnabled(true);

        webView = (WebView) findViewById(R.id.webView);
        url = getIntent().getExtras().getString("url");
        webView.loadUrl(url);
        webView.setWebViewClient(new WebViewClient() {
            @Override
            public void onPageStarted(WebView view, String url, Bitmap favicon) {
                mToolbar.setTitle(view.getTitle());
            }
        });

1 个答案:

答案 0 :(得分:2)

是的,使用WebView.getTitle()方法获取当前页面的标题

同样要自动更改标题,您可以使用[WebViewClient.onPageFinished(android.webkit.WebView view, java.lang.String url)](https://developer.android.com/reference/android/webkit/WebViewClient.html#onPageFinished(android.webkit.WebView,java.lang.String))

设置如下:

WebView browser = (WebView)findViewById(R.id.browser);
browser.setWebViewClient(new WebViewClient() {  
    @Override  
    public void onPageFinished(WebView view, String url)  
    {  
        mActionToolbar.setTitle(view.getTitle()); 
    }  
});