Classes base de renderizador e controles nativos

Cada Xamarin.Forms controle tem um renderizador que acompanha cada plataforma que cria uma instância de um controle nativo. Este artigo lista as classes de renderizador e controle nativo que implementam cada Xamarin.Forms página, layout, exibição e célula.

Com exceção da classe MapRenderer, os renderizadores específicos da plataforma podem ser encontrados nos seguintes namespaces:

  • iOS – Xamarin.Forms. Platform.iOS
  • Android – Xamarin.Forms. Platform.Android
  • Android (AppCompat) – Xamarin.Forms. Platform.Android.AppCompat
  • Android (FastRenderers) – Xamarin.Forms. Platform.Android.FastRenderers
  • Plataforma Universal do Windows (UWP) – Xamarin.Forms. Platform.UWP

Para obter mais informações sobre renderizadores rápidos, consulte Xamarin.Forms Renderizadores rápidos.

A classe MapRenderer pode ser encontrada nos seguintes namespaces:

  • iOS – Xamarin.Forms. Mapas.iOS
  • Android – Xamarin.Forms. Mapas.Android
  • Plataforma Universal do Windows (UWP) – Xamarin.Forms. Maps.UWP

Observação

Para obter informações sobre como criar renderizadores personalizados para aplicativos Shell, consulte Xamarin.Forms Renderizadores personalizados do Shell.

Pages (Páginas)

A tabela a seguir lista as classes de controle nativo e renderizador que implementam cada Xamarin.Forms tipo de página:

? Renderizador iOS Android Android (AppCompat) UWP
ContentPage PageRenderer UIViewController ViewGroup FrameworkElement
FlyoutPage PhoneFlyoutPageRenderer (iOS – Phone), TabletFlyoutPageRenderer (iOS – Tablet), MasterDetailRenderer (Android), FlyoutPageRenderer (Android AppCompat), FlyoutPageRenderer (UWP) UIViewController (Telefone), UISplitViewController (Tablet) DrawerLayout (v4) DrawerLayout (v4) FrameworkElement (Controle Personalizado)
NavigationPage NavigationRenderer (iOS e Android), NavigationPageRenderer (Android AppCompat), NavigationPageRenderer (UWP) UIToolbar ViewGroup ViewGroup FrameworkElement (Controle Personalizado)
TabbedPage TabbedRenderer (iOS e Android), TabbedPageRenderer (Android AppCompat), TabbedPageRenderer (UWP) UIView ViewPager ViewPager FrameworkElement (Pivô)
TemplatedPage PageRenderer UIViewController ViewGroup FrameworkElement
CarouselPage CarouselPageRenderer UIScrollView ViewPager ViewPager FrameworkElement (FlipView)

Layouts

A tabela a seguir lista as classes de controle nativo e renderizador que implementam cada Xamarin.Forms tipo de Layout:

Layout Renderizador iOS Android Android (AppCompat) UWP
ContentPresenter ViewRenderer UIView Exibir Exibir FrameworkElement
ContentView ViewRenderer UIView Exibir Exibir FrameworkElement
FlexLayout ViewRenderer UIView Exibir Exibir FrameworkElement
Frame FrameRenderer UIView ViewGroup CardView Borda
ScrollView ScrollViewRenderer UIScrollView ScrollView ScrollView ScrollViewer
TemplatedView ViewRenderer UIView Exibir Exibir FrameworkElement
AbsoluteLayout ViewRenderer UIView Exibir Exibir FrameworkElement
Grid ViewRenderer UIView Exibir Exibir FrameworkElement
RelativeLayout ViewRenderer UIView Exibir Exibir FrameworkElement
StackLayout ViewRenderer UIView Exibir Exibir FrameworkElement

Exibições

A tabela a seguir lista as classes de controle nativo e renderizador que implementam cada Xamarin.Forms tipo de exibição:

Exibições Renderizador iOS Android Android (AppCompat) UWP
ActivityIndicator ActivityIndicatorRenderer UIActivityIndicator ProgressBar ProgressBar
BoxView BoxRenderer (iOS e Android), BoxViewRenderer (UWP) UIView ViewGroup Retângulo
Button ButtonRenderer UIButton Botão AppCompatButton Botão
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 Exibir Ellipse
Entry EntryRenderer UITextField EditText TextBox
Image ImageRenderer UIImageView ImageView Image
ImageButton ImageButtonRenderer UIButton AppCompatImageButton Botão
IndicatorView IndicatorViewRenderer UIPageControl LinearLayout
Label LabelRenderer UILabel TextView TextBlock
Line LineRenderer CALayer Exibir Linha
ListView ListViewRenderer UITableView ListView ListView
Map MapRenderer MKMapView MapView MapControl
Path PathRenderer CALayer Exibir Caminho
Picker PickerRenderer UITextField EditText EditText ComboBox
Polygon PolygonRenderer CALayer Exibir Polygon
Polyline PolylineRenderer CALayer Exibir Linha poligonal
ProgressBar ProgressBarRenderer UIProgressView ProgressBar ProgressBar
RadioButton Radiobuttonrenderer UIButton AppCompatRadioButton RadioButton
Rectangle RectangleRenderer CALayer Exibir Retângulo
RefreshView RefreshViewRenderer UIView SwipeRefreshLayout RefreshContainer
SearchBar SearchBarRenderer UISearchBar SearchView AutoSuggestBox
Slider SliderRenderer UISlider SeekBar Controle deslizante
Stepper StepperRenderer UIStepper LinearLayout Control
SwipeView SwipeViewRenderer UIView Exibir SwipeControl
Switch SwitchRenderer UISwitch Comutador SwitchCompat ToggleSwitch
TableView TableViewRenderer UITableView ListView ListView
TimePicker TimePickerRenderer UITextField EditText TimePicker
WebView WkWebViewRenderer (iOS), WebViewRenderer (Android e UWP) WkWebView WebView WebView

Células

A tabela a seguir lista as classes de controle nativo e renderizador que implementam cada Xamarin.Forms tipo de célula:

Células Renderizador iOS Android UWP
EntryCell EntryCellRenderer UITableViewCell com um UITextField LinearLayout com uma TextView e um EditText DataTemplate com uma TextBox
SwitchCell SwitchCellRenderer UITableViewCell com um UISwitch Comutador DataTemplate com uma Grid contendo um TextBlock e um ToggleSwitch
TextCell TextCellRenderer UITableViewCell LinearLayout com duas TextViews DataTemplate com um StackPanel contendo dois TextBlocks
ImageCell ImageCellRenderer UITableViewCell com uma UIImage LinearLayout com duas TextViews e uma ImageView DataTemplate com uma Grade contendo uma Imagem e dois TextBlocks
ViewCell ViewCellRenderer UITableViewCell Exibir DataTemplate com um ContentPresenter