把網站改成APP吧-Xamarin WebView
阿新 • • 發佈:2022-04-29
搭建好Xamarin環境,先來小試牛刀,使用Xamarin的webView來訪問網頁,從而實現偽WebApp的效果(網站本身移動裝置相容WebView呼叫)。主要是通過WebApp來訪問頁面,同時通過
重寫頁面載入方法
來防止呼叫系統瀏覽器來實現。
使用WebView構建基礎框架
首先建立一個專案,並開啟Resources - layout -Main.axml
檔案,從工具箱中新增一個WebView.
從左側工具欄中找到WebView並拖到我們的介面中,並放大到覆蓋整個頁面,位置如圖:
注意:在左下角的Source
中檢視原始碼
<android.webkit.WebView android:layout_width="match_parent" android:layout_height="wrap_content" android:id="@+id/webView1" />
其中width="match_parent"
和height="wrap_content"
預設自適應螢幕尺寸。
新增好WebView,編寫根目錄的MainActivity.cs
檔案,在OneCreate()
方法中獲取WebView進行基礎設定。
//獲取WebView物件 var webView = FindViewById<WebView>(Resource.Id.webView1); //申明WebView的配置 WebSettings settings = webView.Settings; //允許執行JS settings.JavaScriptEnabled = true; //設定可以通過js開啟視窗 settings.JavaScriptCanOpenWindowsAutomatically = true; //建立webView客戶端類 var webc = new MyCommWebClient(); //設定WebVIew客戶端 webView.SetWebViewClient(webc); //載入的Url webView.LoadUrl("https://ns96.com");
上述程式碼中的MyCommWebClient()
方法的意義在於,阻止系統呼叫原生瀏覽器訪問新頁面,方法內容如下。
class MyCommWebClient : WebViewClient
{
//重寫載入方法
public override bool ShouldOverrideUrlLoading(WebView view, string url)
{
//使用文字空間載入
view.LoadUrl(url);
return true;
}
}
程式碼截圖:
除錯執行後結果如下圖
部署,測試,釋出
部署測試參考Xamarin官方文件 部署、測試和指標
程式釋出參考Xamarin官方文件 釋出應用程式