I am pleased to announce the Xuni 2016 v2 release is now available on GoXuni.com and on NuGet. The highlight of this release is our collection of cross-platform input controls in the new Xuni.Input library. We’ve also made some nice improvements to FlexGrid and Calendar in this release. Read all about it below. Xuni 2016 v2 Release Highlights
Since the first version of FlexGrid for iOS (including Xamarin.iOS and Xamarin.Forms), we’ve improved the scrolling performance up to 40% on larger screens and up to 15% faster on iPhone/Pod touch screens. So if you haven’t tried FlexGrid lately on your iOS device you should give it another go. In this release we’ve added the ability to have multi-line column and row headers in FlexGrid. This feature also exposes the RowHeaders and ColumnHeaders collections in the API which are useful even for customizing the default column and row header appearance.
Xuni Calendar has two significant improvements. First, we’ve added the decade view which is accessed by tapping the header twice. The decade view is useful for quickly navigating forward or back many years in the calendar. So now older users of your apps trying to set their birth date can do so faster than ever before ;) Second, we’ve flushed out more API to customize the month header. This includes a HeaderMonthFormat string property and a HeaderLoading event. Both give you full flexibility to adjust the header text or content as necessary. Previously, the only way to customize the header was to hide it (ShowHeader) and then create one from scratch.
We’ve added several new input controls across all platforms for this release. The new Xuni Input library includes AutoComplete, Masked Text Input, ComboBox and DropDown. These controls fill the gap and provide a cross-platform solution so you can finally use an AutoComplete in your Xamarin.Forms apps, or create a classic spinner-like drop-down in your iOS apps. Let me dive into a bit more detail about each control one by one.
It may go by a different name in each platform but text input with a mask is a simple yet missing control in mobile. With the Xuni Masked Input controls you can provide instant, code-free formatting on user input using the Mask property. Choose whether or not to show prompt characters and literals by simply setting one property. The prompt character indicates to the user that text can be entered (such as _ or *). Literals are non-mask characters that will appear as themselves within the mask (such as / or -).
Give the power of search and selection to the user with a cross-platform autocomplete control. Xuni AutoComplete is an editable text view that automatically displays completion suggestions in a drop-down while the user is typing. Android already has an AutoCompleteTextView control, but the Xuni AutoComplete is easier to use and now, finally, this means there is an AutoComplete control for Xamarin.Forms.
Similar to AutoComplete, ComboBox provides a universal, cross-platform item selection with editing solution. Unlike the Picker or Spinner controls, ComboBox also supports inline text editing. It also as an ‘autocomplete’ feature that can automatically complete the user’s entry to save time. Both AutoComplete and ComboBox have drop-down direction detection that can display the popup above or below the header depending on if there’s enough room. You can control this, as well, with the DropDownDirection property.
DropDown is the base control used for ComboBox and AutoComplete, and we’ve made it public for developers to easily create their own custom pop-ups and drop-downs. The Xuni DropDown control is extensible. You can provide your own custom header content and a custom view in the drop-down portion. For example, in the Input101 sample you will find a sample that uses Xuni Masked Input in the header and Xuni Calendar in the drop-down to create a classic, web-inspired date picker. Download the 2016 v2 update, which includes all the input controls mentioned above plus a cross-platform CheckBox control we released earlier. For a full list of minor enhancements, bug fixes and breaking changes check out the documentation Release History topic.