我已经在 iOS
上工作了一段时间,并在 View 中显示 WebView
的地方实现了以下代码。
UIView contentView = new UIView();
UIWebView webView = new UIWebView(contentView.Frame);
我想知道如何在Android
中编写上述代码。我写了以下但出现错误。我是 Android 新手。
View contentView = new View();
WebView webView = new WebView(contentView.LayoutParamaters);
最佳答案
我认为这是对 iOS 和 Android 之间的差异以及 Xamarin 如何支持跨平台 C# 的误解。两个平台之间的 API 非常不同,而 UIView
在概念上类似于 View
实际上它们映射到不同的 API。 UIView
是 iOS 特定的 api 和 View
是特定于 Android 的 API,它们各自是相应 native 控件之上的薄层,彼此无关。
我建议通读一些 Xamarin.Android 教程以了解 Android 和 iOS 之间的差异。
关于错误:
View
的构造函数需要一个 Context
提供给构造函数。您可以通过两种方式执行此操作,提供拥有的 Activity 或全局应用程序上下文:
// In the scope of an Activity.
View contentView = new View(this); // "this" is the activity reference.
// In another scope...
View contentView = new View(Android.App.Application.Context);
对于第二个错误,WebView
没有采用该参数的构造函数。
通过不提供任何内容来修复它:
WebView webView = new WebView();
关于android - Android 中的 View.Frame 等价物,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33768840/