Greg Shackles

Navigation

Changing the Android Toolbar's Back Arrow Color

As part of updating our apps to use the latest Android support library to bring in some of the nice material design classes in there, we also started switching over to using a Toolbar as our action bar. If you're just getting started in making the same upgrades in your app I suggest starting with this excellent post on Xamarin's blog that outlines what you need to do. Getting things migrated was easy enough but we…

Write Automated UI Tests for iOS and Android Apps

Previously in this column, I've written about unit testing iOS apps, but what can you do when unit tests just won't cut it? If you're a Web developer you're probably already familiar with libraries like Selenium, which allow you to drive automated testing of your Web app's front-end. Xamarin offers a library named Xamarin.UITest that enable the similar possibilities for your iOS and Android apps. In addition to being able to run those tests locally…

Tips For Uploading Apps to Organizations in HockeyApp

Like many others right now, we're in the process of migrating our testing infrastructure from TestFlight to HockeyApp before the TestFlight shutdown next week. As we did in the past with Xamarin and HipChat, we also open sourced the FAKE helper we made for uploading builds to HockeyApp. For example, to upload a build to HockeyApp and then send a notification to a room in HipChat you can do: HockeyApp (fun p -> {p with…

Presenters in MvvmCross: Nested Modal Navigation in iOS

When navigating to a new view controller in iOS there are two primary ways to do so: pushing it to the navigation stack (the standard way), or "presenting" it which results in a modal-like experience where the new view comes up from the bottom of the screen. This interaction can be useful to convey context to the user, since it feels like a modal interaction that will return them to the current screen afterwards, rather than…

Presenters in MvvmCross: Navigating Android with Fragments

In my last couple posts on this subject I've mentioned using fragments on Android for navigation. By default MvvmCross will use activities on Android, but as I hope you've learned by now, you can use presenters to customize this sort of thing as much as you'd like. I've found it very difficult (or impossible) to properly achieve the types of fine-grained navigation control I want in my apps by using activities for all my views, which…