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 |