際際滷

際際滷Share a Scribd company logo
Creating Great Looking
Xamarin.Forms UIs
Kym Phillpotts
Senior Content Developer
Microsoft
@kphillpotts
kymphillpotts.com
twitch.tv/kymphillpotts
github.com/kphillpotts
Topics
FINDING
INSPIRATION
DESIGN
TOOLS
CHOOSING
LAYOUTS
ANIMATIONS LIBRARIES
Finding Inspiration
Creating Great Xamarin.Forms UI's
Dribbble.com
Snppts.dev
Design Tools
Creating Great Xamarin.Forms UI's
Creating Great Xamarin.Forms UI's
Choosing Layouts
Choosing Layouts
Choosing Layouts
Great for:
 Laying out controls vertically or
horizontal
 Efficiency  its light weight
Not Great For:
 Aligning controls
 Overlapping elements
Choosing Layouts
Layout containers dont have scrolling built
in but just wrap your content in a scrollview.
Great for:
 Adding scrolling to a control which
could grow larger than the page.
Choosing Layouts
Great for:
 Aligning Controls
 Responsive Design
 Overlapping elements
 Root layouts
Choosing Layouts
Great for:
 Responsive Wrapping
 Staggered Lists
Choosing Layouts
Great for:
 Pixel perfect layout
 Overlapping controls
 Total control
Mix and Match
There is more than one way to skin a cat.
The real question, is which is the most efficient.
Quite often you will be combining different layouts
Layout Properties
 HorizontalOptions, VerticalOptions
 WidthRequest, HeightRequest
 Margin
 Padding
 Spacing (row spacing, column spacing)
VisualElement Property
TranslationX,
TranslationY
Scale
Rotation
RotationX
RotationY
Opacity
Other Layout Properties
Parallax Effects
Interesting swipe effect
Animations
VisualElement Property Animation Extension
TranslationX,
TranslationY
TranslateTo
Scale ScaleTo, RelScaleTo
Rotation RotateTo, RelRotateTo,
RotationX RotateXTo
RotationY RotateYTo
Opacity FadeTo
Animation Extensions
Page Entrance Effect
Animations are Awaitable
They are just tasks
Simple Shake Effect
Animating Popup Panes
Interesting Dialogs
Coordinating Animations  Boss Mode
https://blog.xamarin.com/complex-animations-xamarin-forms-using-finite-state-machine/
Animation State Machine
Xamarin.Plugin.SharedTransitions
Multi Page Animations
Lottie
SkiaSharp
For when you need
to take control of
rendering but want
to do it in a cross
platform way.
Animating Skia
AnimatingSkia
Libraries you should know
Favorites
 SkiaSharp
 PancakeView -
Xamarin.Forms.PancakeView
 FFImageLoading + SVG +
Transformations
 DebugRainbows -
Xamarin.Forms.DebugRainbows
 SharedTransitions -
Xamarin.Plugin.SharedTransitions
 Lottie  LottieXamarin
 CardsView
 Popups - UserDialogs
Shameless Plug
Thanks and Questions?
github.com/kphillpotts
twitch.tv/kymphillpotts
youtube.com/user/kphillpotts
@kphillpotts
kym.Phillpotts@Microsoft.com
kymphillpotts.com

More Related Content

Creating Great Xamarin.Forms UI's