我已经在number
工作了一段时间,并在视图中显示iOS
时实现了以下代码。
WebView
我想知道如何在UIView contentView = new UIView();
UIWebView webView = new UIWebView(contentView.Frame);
中编写上述代码。我写了以下内容但收到错误。我是Android的新手。
Android
答案 0 :(得分:1)
我认为这是对iOS和Android之间差异的误解,以及Xamarin如何支持跨平台C#。两个平台之间的API非常不同,而UIView
在概念上与View
类似,实际上它们映射到不同的API。 UIView
是一个特定于iOS的API,View
是一个特定于Android的API,它们都是相应本机控件之上的薄层,并且彼此无关。
我建议您通过一些Xamarin.Android教程来了解Android和iOS之间的差异。
关于错误:
View
的构造函数需要通过构造函数提供Context
。您可以通过两种方式执行此操作,提供拥有活动或全局应用程序上下文:
// 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();
答案 1 :(得分:1)
以下是如何显示WebView的最小示例。您的Activity的布局XML将是这样的:
import {Component, NgFor} from 'angular2/angular2'
@Component({
selector: 'my-app',
directives: [NgFor],
template: `
<select #device (change)="onChange($event, device.value)">
<option *ng-for="#device of devices" [value]="device.id">
{{ device.label }}
</option>
</select>
`
})
export class App {
constructor() {
this.devices = [
{ id: 1, label: 'Nokia' },
{ id: 2, label: 'Motorola' },
{ id: 3, label: 'iPhone' }
]
}
onChange(event, deviceValue) {
console.log(deviceValue);
}
}
你的活动代码就是这个......
<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="match_parent" >
<WebView
android:id="@+id/yourWebView"
android:layout_width="match_parent"
android:layout_height="match_parent" />
</RelativeLayout
或者,如果您想以编程方式添加WebView,您的Activity代码将如下所示......
import android.support.v7.app.AppCompatActivity;
import android.os.Bundle;
import android.webkit.WebView;
public class WebViewActivity extends AppCompatActivity {
WebView webView;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.your_activity_layout);
webView = (WebView) findViewById(R.id.yourWebView);
webView.setWebViewClient(new WebViewClient());
webView.loadUrl("http://www.google.com/");
}
}