Android 网页视图 Activity 工具栏
Android WebView Activity Toolbar
在我的应用程序中,我有一个加载 URL.
的 WebView Activity
我有一个自定义工具栏,我希望它显示页面标题、URL 以及它是否是安全连接。
我观察到几个著名的应用程序(Twitter、Youtube、Telegram...)的 WebView 活动都有完全相同的工具栏模型,我想知道 Android 是否有默认的工具栏,或者如果他们构建了相同的自定义工具栏。
而且,如果是第二种情况(我必须自己构建自定义工具栏),我可以访问页面标题覆盖 WebViewClient 的 onPageFinished 方法,但是我如何获取连接是否安全?
我附上了我正在谈论的 Telegram 工具栏的快照(其他应用程序也一样):
非常感谢你,对不起我的英语!
要在这种视图中显示网页 url,您不需要 WebViewActivity。
这可以使用 Chrome 的自定义标签来实现。
为此,请按照下列步骤操作:
(1) 在 build.gradle
-> compile 'com.android.support:customtabs:23.3.0'
添加依赖
(2) 在一些实用程序中编写此方法 class
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) 从您要打开 link 的位置调用此方法,例如:openUrlInChromeCustomTab(activity, url");
就这些了。
此外,您可以根据需要对其进行自定义。在 https://developer.chrome.com/multidevice/android/customtabs
了解更多信息
在我的应用程序中,我有一个加载 URL.
的 WebView Activity我有一个自定义工具栏,我希望它显示页面标题、URL 以及它是否是安全连接。
我观察到几个著名的应用程序(Twitter、Youtube、Telegram...)的 WebView 活动都有完全相同的工具栏模型,我想知道 Android 是否有默认的工具栏,或者如果他们构建了相同的自定义工具栏。
而且,如果是第二种情况(我必须自己构建自定义工具栏),我可以访问页面标题覆盖 WebViewClient 的 onPageFinished 方法,但是我如何获取连接是否安全?
我附上了我正在谈论的 Telegram 工具栏的快照(其他应用程序也一样):
非常感谢你,对不起我的英语!
要在这种视图中显示网页 url,您不需要 WebViewActivity。
这可以使用 Chrome 的自定义标签来实现。
为此,请按照下列步骤操作:
(1) 在 build.gradle
-> compile 'com.android.support:customtabs:23.3.0'
(2) 在一些实用程序中编写此方法 class
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) 从您要打开 link 的位置调用此方法,例如:openUrlInChromeCustomTab(activity, url");
就这些了。
此外,您可以根据需要对其进行自定义。在 https://developer.chrome.com/multidevice/android/customtabs
了解更多信息