レンダラーの基本クラスおよびネイティブ コントロール
すべての 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.Maps.iOS
- Android – Xamarin.Forms.Maps.Android
- ユニバーサル Windows プラットフォーム (UWP) – Xamarin.Forms.Maps.UWP
Note
シェル アプリケーション用のカスタム レンダラーの作成について詳しくは、「Xamarin.Forms シェルのカスタム レンダラー」を参照してください。
ページ
次の表に、Xamarin.Forms の各ページ型を実装する、レンダラーおよびネイティブ コントロールのクラスの一覧を示します。
ページ | レンダラー | iOS | Android | Android (AppCompat) | UWP |
---|---|---|---|---|---|
ContentPage |
PageRenderer | UIViewController | ViewGroup | FrameworkElement | |
FlyoutPage |
PhoneFlyoutPageRenderer (iOS – 電話)、TabletFlyoutPageRenderer (iOS – タブレット)、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 (Pivot) |
TemplatedPage |
PageRenderer | UIViewController | ViewGroup | FrameworkElement | |
CarouselPage |
CarouselPageRenderer | UIScrollView | ViewPager | ViewPager | FrameworkElement (FlipView) |
Layouts
次の表に、Xamarin.Forms の各レイアウト型を実装する、レンダラーおよびネイティブ コントロールのクラスの一覧を示します。
Layout | レンダラー | 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 | Image | |
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 | 表示 | Path | |
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 | Slider | |
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.Forms の各セル型を実装する、レンダラーおよびネイティブ コントロールのクラスの一覧を示します。
セル | レンダラー | iOS | Android | UWP |
---|---|---|---|---|
EntryCell |
EntryCellRenderer | UITextField がある UITableViewCell | TextView および EditText がある LinearLayout | TextBox がある DataTemplate |
SwitchCell |
SwitchCellRenderer | UISwitch がある UITableViewCell | Switch | TextBlock と ToggleSwitch を含む Grid がある DataTemplate |
TextCell |
TextCellRenderer | UITableViewCell | 2 つの TextViews がある LinearLayout | 2 つの TextBlock を含む StackPanel がある DataTemplate |
ImageCell |
ImageCellRenderer | UIImage がある UITableViewCell | 2 つの TextView と ImageView がある LinearLayout | Image と 2 つの TextBlock がある DataTemplate |
ViewCell |
ViewCellRenderer | UITableViewCell | 表示 | ContentPresenter がある DataTemplate |