|
前言:
因为项目上的需求,要在应用内打开指定的网络地址。uniwebview插件可以在unity内部打开网页,不过这个插件只能在安卓和IOS以及mac上运行,unity的editor下是运行不起来的,如果系统不是mac的话需要打出包以后才能看实际效果。
使用方法很简单,源码附上- public void Awake()
- {
- ShowWeb(url);
- }
- public void ShowWeb(string url)
- {
- CreateWebView();//创建webview
- curWebView.url = url;
- curWebView.Show();//先打开网页窗口再加载
- curWebView.Load();
- }
- void CreateWebView()
- {
- //Debug.Log ("CreateWebView");
- curWebView = GetComponent<UniWebView>();
- if (curWebView == null)
- {
- //因uniwebview每次关闭都会自动销毁,所以每次都得新建
- curWebView = gameObject.AddComponent<UniWebView>();
- }
- //curWebView.OnLoadComplete += OnLoadComplete;//加载完成回调
- curWebView.OnWebViewShouldClose += CloseWebView;
- curWebView.InsetsForScreenOreitation += InsetsForScreenOreitation;
- curWebView.toolBarShow = false;
- curWebView.CleanCache();//清除缓存
- curWebView.CleanCookie();//清除Cookie
- }
- void OnLoadComplete(UniWebView webView, bool success, string errorMessage)
- {
- Debug.Log(&#34;OnLoadComplete&#34;);
- if (success)
- {
- webView.Show();
- }
- else
- {
- Debug.Log(&#34;Something wrong in webview loading: &#34; + errorMessage);
- }
- }
-
- UniWebViewEdgeInsets InsetsForScreenOreitation(UniWebView webView, UniWebViewOrientation orientation)
- {
- if (orientation == UniWebViewOrientation.Portrait)
- {
- return new UniWebViewEdgeInsets(5, 5, 5, 5);
- }
- else
- {
- return new UniWebViewEdgeInsets(5, 5, 5, 5);
- }
- }
- private bool CloseWebView(UniWebView webView)
- {
- webView.Hide();
- return true;
- }
复制代码 |
|