James Montemagno
James Montemagno

Live, Love, Bike, and Code.

Tags


James Montemagno

Live, Love, Bike, and Code.


PSA: Android Pie Reports "9" for Release Version instead of "9.0"

Let's break down a version number together, or as standard documentation [https://docs.microsoft.com/en-us/dotnet/api/system.version?view=netframework-4.7.2] says, it "represents the version number of an assembly, operating system, or the common language runtime" and that "the format of the version number is as follows (optional components are shown in square brackets ([ and ]): major.minor[.build[.revision]] In the world of .NET this has always been a staple of how we ve…

James Montemagno James Montemagno

Multi-Targeting: Where Did My Files Go? Fixing .NET Core 2.1 SDK Issues

I love multi-targeting for creating libraries, and it is at the core of all of my plugins and Xamarin.Essentials. If you don't know what multi-targeting is don't worry as it is pretty rare that you would need to use it if you are creating apps. Most likely you will want to use multi-targeting in creating cross-platform libraries. In the past you would have to create multiple libraries for each target framework (such as iOS or Android) that you wanted to support if there was platform spec…

James Montemagno James Montemagno

Optimizing C# Struct Equality with IEquatable and ValueTuples

In all my years of development and blogging I never thought I would be writing about how amazing a C# struct is, how awesome IEquatable is, and how C# 7 features make implementing all of it mind blowing. In Xamarin.Essentials we use the C# struct [https://docs.microsoft.com/en-us/dotnet/csharp/language-reference/keywords/struct] all over the place to encapsulate "small groups of related variables" for our event handlers. They are groups of data that don't need to be created by t…

James Montemagno James Montemagno

Xamarin.Forms: Filtering a ListView with a Bindable Picker

In this edition of "Ask Motz", I will solve a very common problem when working with lists of data and how to filter them. I was recently asked how to do this completely with MVVM and data bindings without having any code behind in the page. > @JamesMontemagno [https://twitter.com/JamesMontemagno?ref_src=twsrc%5Etfw] hi I had a bindable pucker with All,Open and Close as a items which is binding using MVVM pattern with Itemsource property.But I want to filter the list view based on t…

James Montemagno James Montemagno

Resolving Android Support Library NuGet Installation Issues

Xamarin.Essentials [https://docs.microsoft.com/xamarin/essentials/] has to be my favorite project that I have worked on at Xamarin so far. Bringing together over 30 native platform specific APIs into a single API that creates a linker safe and optimized library that so far has really delighted developers. I did some surveys last week and everyone could not stop saying positive things about the library, which is awesome! One thing stood out though that seems to be causing issues, which is how NuG…

James Montemagno James Montemagno

Welcome to Montemagno.com Version 2.0 & Newsletter!

Nearly a year ago I re-launched montemagno.com [https://montemagno.com/welcome/] with the goal of creating a website rich of developer content, powered by Ghost [http://ghost.org] a great CMS system, and with beautiful branding [http://cinderdesign.co/] and theming that was mobile responsive. Monthly Newsletter Something I have always wanted to have was a newsletter that would allow me to have a closer relationship with my readers than just back and forth on Twitter [http://twitter.com/jamesmon…

James Montemagno James Montemagno

Xamarin.Forms: Official Bottom Navigation/Bottom Tabs on Android

Bottom tabs on Android... Love them... Hate them... it doesn't matter because Google seems to be all in on them. Top tabs were really designed to sort differerent types of data, while bottom tabs make a lot of sense when you want to use them for your entire application's navigation. It also has the perk that it synchronizes your application design and navigation with the iOS counterpart. Since Xamarin.Forms maps to the native controls, when you create a Tabbed Page you get the tabs exa…

James Montemagno James Montemagno

Xamarin.Forms: Drop Shadows on Android Navigation Toolbar

One thing that always bothered me when developing Xamarin.Forms applications for Android is that for some reason the toolbar area looked flat... well because it was flat: See how it just melds together with the rest of the applicaton. Where is that lovely drop shadow that we know and love?!?!?! Well, it is a bit complicated as that elevation drop shadow comes from the Toolbar and Xamarin.Forms applications only have 1 today that you don't really have access to. I have asked to extend the…

James Montemagno James Montemagno