James Montemagno
James Montemagno

Live, Love, Bike, and Code.

Tags


James Montemagno

Xamarin.Forms

Setting Android Status Bar Background & Icon Colors

Over the past few months, I have been attempting to figure out the best ways to implement a light theme and dark theme in my Hanselman.Forms app. Working closely with my friend Kym Phillpotts [https://twitter.com/kphillpotts] we came up with a very nice theme changer for Xamarin.Forms, that allowed us to change all of the colors dynamically. The result is a very nice looking application that allows the users to pick their theme or use system defaults. One thing that bugged me in the original…

James Montemagno James Montemagno

Investing Time in the Xamarin Linker for Smaller App Sizes

When developing an app, 99% of our time goes into writing the code, testing the functionality, and making small UI tweaks to please our end users. Most of this is done in debug mode which optimizes compilation and app size for speed, which makes sense. When we flip that flag to Release with the default settings, we often pay very little attention as to what is happening to our app. We get a nice APK or IPA and ship it up to the app store and we are done. However, if we just spent a little time f…

James Montemagno James Montemagno

Azure DevOps Settings for Xamarin iOS 13 and Android 10 Apps

Settings up continuous integration can be tricky when there are new versions coming out. Recently Visual Studio 2019 updated to support Xcode 11, iOS 13, Android 10, .NET Core 3, and C# 8. What a whirlwind of new updates that CI servers got all around the same time! This means that as you were updating your apps your hosted machines also got updated and probably broke your builds :(. My good friend Jonathan Peppers wrote an amazing tool called Boots [https://devblogs.microsoft.com/xamarin/boots-…

James Montemagno James Montemagno

Opt-out of Dark Mode on iOS, Android, UWP, and macOS

Everyone can't stop talking about dark mode now that iOS 13 and Android 10 are officially released. To my surprise I have actually really been enjoying dark mode on my desktop and mobile devices. I really want to go through all my apps and add proper dark mode support, however I just haven't had the time. When running apps on iOS 13 or macOS and flipping on dark mode can make your app look.... not so great: This can depend on the framework you are using, hard coded values, or a bunch…

James Montemagno James Montemagno

Xamarin.Forms Design Time Data Tips & Best Practices

One of my favorite features of building applications with XAML is the ability to use design time data to preview it inside the IDE. Recently in Xamarin.Forms 4.0 the team introduced an official pattern to specify design time properties, controls, or just about anything else. It is a really neat feature that I have been using on my live streams and in my apps. There is some really great docs [https://docs.microsoft.com/xamarin/xamarin-forms/xaml/xaml-previewer/design-time-data?WT.mc_id=designtime…

James Montemagno James Montemagno

Free C# and Xamarin for Beginners Videos Series

Last week Hanselman announced [https://www.hanselman.com/blog/AnnouncingFreeCNETAndASPNETForBeginnersVideoCoursesAndTutorials.aspx] all of the great new videos that are available at dot.net/videos [https://dotnet.microsoft.com/learn/videos?WT.mc_id=education-c9-jamont]. However, he forgot to mention that there is an entire new getting started series for iOS & Android development with Xamarin! The lovely developer advocate's and friends Matt Soucoup [http://twitter.com/codemillmatt] and…

James Montemagno James Montemagno

James on Tour - October 2019 Europe Edition!

I can't believe it is October already! What an amazing year with so many amazing announcements for Xamarin developers. Between Build, Xamarin Developer Summit, and .NET Conf there truly has been something for everyone. Now, I want to take this Xamarin goodness on the road for a two week Europe roadshow! I worked closely with user group leaders all over Europe to set up a great schedule where I am literally traveling just about every day! Oct 22nd - 23rd - DevReach - Sofia, Bulgaria [https:/…

James Montemagno James Montemagno

AsyncCommand & More Come to MVVM Helpers

Having to write boilerplate code over and over again is not only annoying, but it is a time sink when trying to build apps. That is why nearly 4 years ago I created a small little open source library to get rid of MVVM boilerplate code that I called MVVM Helpers [https://github.com/jamesmontemagno/mvvm-helpers]. It contains all sorts of goodies including an ObservableObject, BaseViewModel, ObservableRangeCollection, and all sorts of small utlilities. I use it in every app that I have ever built…

James Montemagno James Montemagno