在我的应用中,我有一个加载URL的WebView Activity。
我有一个自定义工具栏,我希望它显示页面标题,URL以及是否是安全连接。
我观察到几个着名的应用程序(Twitter,Youtube,Telegram ......)为他们的WebView活动提供了完全相同的工具栏模型,我想知道Android是否有一个默认的工具栏,或者他们是否已经构建了相同的工具栏模型自定义工具栏。
而且,如果是第二种情况(我必须自己构建自定义工具栏),我可以访问覆盖WebViewClient的onPageFinished方法的页面标题,但是如果连接是否安全,我该怎么办呢? / p>
我包含了我正在谈论的Telegram工具栏的快照(对于其他应用程序也是如此):
非常感谢,对不起我的英语!
答案 0 :(得分:1)
要在此类视图中显示网址,您不需要WebViewActivity。
这可以使用Chrome的自定义标签来实现。
要实现此目的,请按照下列步骤操作:
(1)在build.gradle
- >中添加依赖项compile 'com.android.support:customtabs:23.3.0'
(2)在某些实用程序类中编写此方法
public static void openUrlInChromeCustomTab(Context context, String url) {
try {
CustomTabsIntent.Builder builder = new CustomTabsIntent.Builder();
CustomTabsIntent customTabsIntent = builder.build();
customTabsIntent.intent.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
customTabsIntent.launchUrl(context, Uri.parse(url));
} catch (ActivityNotFoundException e) {
// might not available.
//openUrlLinkInWebView(context, url);
} catch (Exception e) {
e.printStackTrace();
}
}
(3)从您想要打开链接的地方调用此方法:openUrlInChromeCustomTab(activity, url");
全部。
此外,您可以根据需要自定义它。在https://developer.chrome.com/multidevice/android/customtabs
了解详情