SlideShare a Scribd company logo
Adding platform specific magic to cross-platform Xamarin Forms apps
@JimBobBennett aka.ms/XamFormsDocs
@JimBobBennett aka.ms/XamFormsDocs
@JimBobBennett aka.ms/XamFormsDocs
@JimBobBennett aka.ms/XamFormsDocs
@JimBobBennett aka.ms/XamFormsDocs
@JimBobBennett aka.ms/XamFormsDocs
@JimBobBennett aka.ms/XamDocs
@JimBobBennett aka.ms/XamFormsDocs
@JimBobBennett aka.ms/XamFormsDocs
@JimBobBennett aka.ms/XamFormsDocs
@JimBobBennett aka.ms/
@JimBobBennett aka.ms/
@JimBobBennett aka.ms/XamFormsEffects
@JimBobBennett aka.ms/
@JimBobBennett aka.ms/
@JimBobBennett aka.ms/
@JimBobBennett aka.ms/
[assembly: ExportRenderer(typeof(Entry),
typeof(MyEntryRenderer))
]
@JimBobBennett aka.ms/
[assembly: ExportRenderer(typeof(Entry),
typeof(MyEntryRenderer))
]
public class MyEntryRenderer : EntryRenderer
{
…
}
@JimBobBennett aka.ms/
@JimBobBennett aka.ms/XamFormsDocs
Adding platform specific magic to cross-platform Xamarin Forms apps

More Related Content

PPTX
Intro to the Cloud from TeenHacks LI
PPTX
WooHoo my app is on the store! Now what?
PPTX
Building Fabulous mobile apps with F#
PPTX
Learning to love f#
PDF
App center - the gateway drug to mobile devops
PDF
Adding platform specific magic to cross-platform Xamarin Forms apps
PDF
Cross platform Xamarin Apps With MVVM
PDF
Clicking on the real world with iBeacon and eddystone
Intro to the Cloud from TeenHacks LI
WooHoo my app is on the store! Now what?
Building Fabulous mobile apps with F#
Learning to love f#
App center - the gateway drug to mobile devops
Adding platform specific magic to cross-platform Xamarin Forms apps
Cross platform Xamarin Apps With MVVM
Clicking on the real world with iBeacon and eddystone

Recently uploaded (20)

PDF
Profit Center Accounting in SAP S/4HANA, S4F28 Col11
PDF
Encapsulation theory and applications.pdf
PPTX
VMware vSphere Foundation How to Sell Presentation-Ver1.4-2-14-2024.pptx
PPTX
20250228 LYD VKU AI Blended-Learning.pptx
DOCX
The AUB Centre for AI in Media Proposal.docx
PDF
gpt5_lecture_notes_comprehensive_20250812015547.pdf
PDF
Diabetes mellitus diagnosis method based random forest with bat algorithm
PDF
Agricultural_Statistics_at_a_Glance_2022_0.pdf
PDF
NewMind AI Weekly Chronicles - August'25-Week II
PDF
Optimiser vos workloads AI/ML sur Amazon EC2 et AWS Graviton
PDF
Empathic Computing: Creating Shared Understanding
PDF
Mobile App Security Testing_ A Comprehensive Guide.pdf
PDF
Review of recent advances in non-invasive hemoglobin estimation
PDF
cuic standard and advanced reporting.pdf
PDF
A comparative analysis of optical character recognition models for extracting...
PPTX
Cloud computing and distributed systems.
PPTX
ACSFv1EN-58255 AWS Academy Cloud Security Foundations.pptx
PDF
Machine learning based COVID-19 study performance prediction
PPT
Teaching material agriculture food technology
PPTX
MYSQL Presentation for SQL database connectivity
Profit Center Accounting in SAP S/4HANA, S4F28 Col11
Encapsulation theory and applications.pdf
VMware vSphere Foundation How to Sell Presentation-Ver1.4-2-14-2024.pptx
20250228 LYD VKU AI Blended-Learning.pptx
The AUB Centre for AI in Media Proposal.docx
gpt5_lecture_notes_comprehensive_20250812015547.pdf
Diabetes mellitus diagnosis method based random forest with bat algorithm
Agricultural_Statistics_at_a_Glance_2022_0.pdf
NewMind AI Weekly Chronicles - August'25-Week II
Optimiser vos workloads AI/ML sur Amazon EC2 et AWS Graviton
Empathic Computing: Creating Shared Understanding
Mobile App Security Testing_ A Comprehensive Guide.pdf
Review of recent advances in non-invasive hemoglobin estimation
cuic standard and advanced reporting.pdf
A comparative analysis of optical character recognition models for extracting...
Cloud computing and distributed systems.
ACSFv1EN-58255 AWS Academy Cloud Security Foundations.pptx
Machine learning based COVID-19 study performance prediction
Teaching material agriculture food technology
MYSQL Presentation for SQL database connectivity
Ad
Ad

Editor's Notes

  • #3: Write once, run everywhere - iOS, Android, UWP, WPF, macOS, Linux, Tizen, Native UI To most Forms IS Xamarin Fast to market - EROAD Inspect
  • #8: To make Forms work on all platforms means it’s a lowest common denominator model Only features that work on all platforms are available Simplicity was key as well, so only the basics were ported
  • #9: Beautiful design - part of it is good typography. Designers love fonts and want different weights all over the place Not easy in Forms
  • #11: Problem - designer wants light fonts. How can we do this?
  • #12: Look at two ways to do it - effects, custom renderers Only going to cover iOS and Android, but principles apply to all platforms
  • #13: Effects - lightweight ways to manipulate underlying controls Attach to a control to allow you to tweak the underlying control
  • #14: Forms - wraps native controls in Forms controls Put an entry on the screen, on iOS you get a UITextField, Android gives an EditText Effects attach to these controls Effects are NOT control specific - can attach to any control
  • #15: Demo on for iOS and Android Effect for font
  • #16: Two parts - platform effect for the platform, routing effect in core project Effects have an Id with a two part key - resolution group name and effect name Platform specific - resolution group name registered in assembly as first part of key Effect exported by name Allows multiple effect NuGets with same effect name to not clash.  Effects can be read off control to evaluate properties
  • #17: All forms controls use renderers to convert from Forms to Native These renderers are open, so you can tweak to suit, or write your own
  • #18: All forms controls use renderers to convert from Forms to Native These renderers are open, so you can tweak to suit, or write your own
  • #19: ExportRenderer tells Xamarin Forms which renderer to use for a control
  • #20: You can export your own renderers to ‘override’ the default from Xamarin Forms Own renderers derived from the Xamarin ones with customizations
  • #21: Demo on for iOS and Android Renderer Renderer has control and element - native control and Forms element
  • #22: Effects when you want to tweak certain controls only, and want to add effects to multiple types Renderers for tweaking all controls of one type