【问题标题】:Showing Toolbar Title based on HTML title?根据 HTML 标题显示工具栏标题?
【发布时间】:2016-01-01 08:28:25
【问题描述】:

我正在尝试在材料设计中设置工具栏的标题。在正常情况下,我知道我可以使用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());
            }
        });

【问题讨论】:

    标签: android material-design android-toolbar


    【解决方案1】:

    可以,使用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()); 
        }  
    }); 
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2015-03-31
      • 2017-04-07
      • 1970-01-01
      相关资源
      最近更新 更多