轉譯器基底類別與原生控制項
每個 Xamarin.Forms 控件都有每個平臺的隨附轉譯器,可建立原生控件的實例。 本文列出實作每個 Xamarin.Forms 頁面、版面配置、檢視和單元格的轉譯器和原生控件類別。
除了 MapRenderer
類別之外,平台特定轉譯器皆可在下列命名空間中找到:
- iOS – Xamarin.Forms。Platform.iOS
- Android – Xamarin.Forms。Platform.Android
- Android (AppCompat) – Xamarin.Forms。Platform.Android.AppCompat
- Android (FastRenderers) - Xamarin.Forms。Platform.Android.FastRenderers
- 通用 Windows 平台 (UWP) - Xamarin.Forms。Platform.UWP
如需快速轉譯器的詳細資訊,請參閱 Xamarin.Forms 快速轉譯器。
MapRenderer
類別可在下列命名空間中找到:
- iOS – Xamarin.Forms.地圖。Ios
- Android – Xamarin.Forms.地圖。Android
- 通用 Windows 平台 (UWP) – Xamarin.Forms.地圖。UWP
注意
如需為Shell應用程式建立自定義轉譯器的詳細資訊,請參閱 Xamarin.Forms 殼層自定義轉譯器。
頁面
下表列出實作每個 Xamarin.FormsPage 類型的轉譯器和原生控件類別:
頁 | 轉譯器 | iOS | Android | Android (AppCompat) | UWP |
---|---|---|---|---|---|
ContentPage |
PageRenderer | UIViewController | ViewGroup | FrameworkElement | |
FlyoutPage |
電話 FlyoutPageRenderer (iOS – 電話)、TabletFlyoutPageRenderer (iOS – Tablet)、MasterDetailRenderer (Android)、FlyoutPageRenderer (Android AppCompat)、FlyoutPageRenderer (UWP) | UIViewController (手機)、UISplitViewController (平板電腦) | DrawerLayout (v4) | DrawerLayout (v4) | FrameworkElement (自訂控制項) |
NavigationPage |
NavigationRenderer (iOS 和 Android)、NavigationPageRenderer (Android AppCompat)、NavigationPageRenderer (UWP) | UIToolbar | ViewGroup | ViewGroup | FrameworkElement (自訂控制項) |
TabbedPage |
TabbedRenderer (iOS 和 Android)、TabbedPageRenderer (Android AppCompat)、TabbedPageRenderer (UWP) | UIView | ViewPager | ViewPager | FrameworkElement (樞紐) |
TemplatedPage |
PageRenderer | UIViewController | ViewGroup | FrameworkElement | |
CarouselPage |
CarouselPageRenderer | UIScrollView | ViewPager | ViewPager | FrameworkElement (FlipView) |
版面配置
下表列出實作每個 Xamarin.FormsLayout 類型的轉譯器和原生控件類別:
版面配置 | 轉譯器 | iOS | Android | Android (AppCompat) | UWP |
---|---|---|---|---|---|
ContentPresenter |
ViewRenderer | UIView | 檢視 | 檢視 | FrameworkElement |
ContentView |
ViewRenderer | UIView | 檢視 | 檢視 | FrameworkElement |
FlexLayout |
ViewRenderer | UIView | 檢視 | 檢視 | FrameworkElement |
Frame |
FrameRenderer | UIView | ViewGroup | CardView | Border |
ScrollView |
ScrollViewRenderer | UIScrollView | ScrollView | ScrollView | ScrollViewer |
TemplatedView |
ViewRenderer | UIView | 檢視 | 檢視 | FrameworkElement |
AbsoluteLayout |
ViewRenderer | UIView | 檢視 | 檢視 | FrameworkElement |
Grid |
ViewRenderer | UIView | 檢視 | 檢視 | FrameworkElement |
RelativeLayout |
ViewRenderer | UIView | 檢視 | 檢視 | FrameworkElement |
StackLayout |
ViewRenderer | UIView | 檢視 | 檢視 | FrameworkElement |
檢視
下表列出實作每個 Xamarin.Forms檢視 類型的轉譯器和原生控件類別:
檢視 | 轉譯器 | iOS | Android | Android (AppCompat) | UWP |
---|---|---|---|---|---|
ActivityIndicator |
ActivityIndicatorRenderer | UIActivityIndicator | ProgressBar | ProgressBar | |
BoxView |
BoxRenderer (iOS 和 Android)、BoxViewRenderer (UWP) | UIView | ViewGroup | 矩形 | |
Button |
ButtonRenderer | UIButton | Button | AppCompatButton | Button |
CarouselView |
CarouselViewRenderer | UICollectionView | RecyclerView | ListViewBase | |
CheckBox |
CheckBoxRenderer | UIButton | AppCompatCheckBox | CheckBox | |
CollectionView |
CollectionViewRenderer | UICollectionView | RecyclerView | ListViewBase | |
DatePicker |
DatePickerRenderer | UITextField | EditText | DatePicker | |
Editor |
EditorRenderer | UITextView | EditText | TextBox | |
Ellipse |
EllipseRenderer | CALayer | 檢視 | 橢圓形 | |
Entry |
EntryRenderer | UITextField | EditText | TextBox | |
Image |
ImageRenderer | UIImageView | ImageView | 映像 | |
ImageButton |
ImageButtonRenderer | UIButton | AppCompatImageButton | Button | |
IndicatorView |
IndicatorViewRenderer | UIPageControl | LinearLayout | ||
Label |
LabelRenderer | UILabel | TextView | TextBlock | |
Line |
LineRenderer | CALayer | 檢視 | 線條 | |
ListView |
ListViewRenderer | UITableView | ListView | ListView | |
Map |
MapRenderer | MKMapView | MapView | MapControl | |
Path |
PathRenderer | CALayer | 檢視 | 路徑 | |
Picker |
PickerRenderer | UITextField | EditText | EditText | ComboBox |
Polygon |
PolygonRenderer | CALayer | 檢視 | Polygon | |
Polyline |
PolylineRenderer | CALayer | 檢視 | 聚合線條 | |
ProgressBar |
ProgressBarRenderer | UIProgressView | ProgressBar | ProgressBar | |
RadioButton |
RadioButtonRenderer | UIButton | AppCompatRadioButton | RadioButton | |
Rectangle |
RectangleRenderer | CALayer | 檢視 | 矩形 | |
RefreshView |
RefreshViewRenderer | UIView | SwipeRefreshLayout | RefreshContainer | |
SearchBar |
SearchBarRenderer | UISearchBar | SearchView | AutoSuggestBox | |
Slider |
SliderRenderer | UISlider | SeekBar | 滑桿 | |
Stepper |
StepperRenderer | UIStepper | LinearLayout | 控制 | |
SwipeView |
SwipeViewRenderer | UIView | 檢視 | SwipeControl | |
Switch |
SwitchRenderer | UISwitch | Switch | SwitchCompat | ToggleSwitch |
TableView |
TableViewRenderer | UITableView | ListView | ListView | |
TimePicker |
TimePickerRenderer | UITextField | EditText | TimePicker | |
WebView |
WkWebViewRenderer (iOS)、WebViewRenderer (Android 和 UWP) | WkWebView | WebView | WebView |
儲存格
下表列出實作每個 Xamarin.FormsCell 類型的轉譯器和原生控件類別:
儲存格 | 轉譯器 | iOS | Android | UWP |
---|---|---|---|---|
EntryCell |
EntryCellRenderer | 具有 UITextField 的 UITableViewCell | 具有 TextView 和 EditText 的 LinearLayout | 具有 TextBox 的 DataTemplate |
SwitchCell |
SwitchCellRenderer | 具有 UISwitch 的 UITableViewCell | Switch | 具有 Grid 的 DataTemplate,包含 TextBlock 和 ToggleSwitch |
TextCell |
TextCellRenderer | UITableViewCell | 具有兩個 TextView 的 LinearLayout | 具有 StackPanel 的 DataTemplate,包含兩個 TextBlock |
ImageCell |
ImageCellRenderer | 具有 UIImage 的 UITableViewCell | 具有兩個 TextView 和一個 ImageView 的 LinearLayout | 具有 Grid 的 DataTemplate,包含一個 Image 和兩個 TextBlock |
ViewCell |
ViewCellRenderer | UITableViewCell | 檢視 | 具有 ContentPresenter 的 DataTemplate |