Book Image

Mastering Xamarin UI Development - Second Edition

By : Steven F. Daniel
Book Image

Mastering Xamarin UI Development - Second Edition

By: Steven F. Daniel

Overview of this book

This book will provide you with the knowledge and practical skills that are required to develop real-world Xamarin and Xamarin.Forms applications. You’ll learn how to create native Android app that will interact with the device camera and photo gallery, and then create a native iOS sliding tiles game. You will learn how to implement complex UI layouts and create customizable control elements based on the platform, using XAML and C# 7 code to interact with control elements within your XAML ContentPages. You’ll learn how to add location-based features by to your apps by creating a LocationService class and using the Xam.Plugin.Geolocator cross-platform library, that will be used to obtain the current device location. Next, you’ll learn how to work with and implement animations and visual effects within your UI using the PlatformEffects API, using C# code. At the end of this book, you’ll learn how to integrate Microsoft Azure App Services and use the Twitter APIs within your app. You will work with the Razor Templating Engine to build a book library HTML5 solution that will use a SQLite.net library to store, update, retrieve, and delete information within a local SQLite database. Finally, you will learn how to write unit tests using the NUnit and UITest frameworks.
Table of Contents (15 chapters)

Creating and implementing your own Custom Animations

In this section, we will take a look at how to we can work with Custom Animations, and implement these in your Xamarin.Forms XAML and ContentPages using C#. Custom Animations make use of the Animation class, which essentially is the parent class for all Xamarin.Forms animations, as well as making use of the extension methods contained in the ViewExtensions class, to create one or a series of Animation objects.

Whenever you create an Animation object, you'll need to specify a number of parameter objects, as well as include the starting and ending values for the property that is being animated. You will also need to ensure you declare a Callback method that changes the value of the property.

You can also use the Animation object to specify any number of child animations, which can be run in parallel, by calling the Commit...