When RadListView is in grid mode (SpanCount > 0), there is no spatial navigation with the keyboard.
Up and down arrows move the focused item, left and right arrows don't. (Also: it doesn't seem to be possible to style the focused item…)
Crude drawing:
Only the first column has keyboard navigation, up and down. It's invisible, though; internally, an item is focused and will execute ItemTap when pressing the return key, or will select the item when pressing the spacebar. That part is fine.
After clicking/tapping an item in any column after the first one and then pressing the down arrow, for example, we get this:
Pink is where we clicked/tapped, cyan is what's internally focused after pressing the down arrow.
Please note again that focus != selection.
Expected behavior:
Further suggestions:
Allow customers to enable the animations of the native control when items are being inserted, moved, deleted or the entire data reloaded.
native iOS ListView animations: https://docs.telerik.com/devtools/xamarin/nativecontrols/ios/listview/animations
native android ListView animations: https://docs.telerik.com/devtools/xamarin/nativecontrols/android/listview/listview-itemanimations
Does the RadListView control support snap scrolling? I could not find any documentation on this.
The staggered layout lays out items in a staggered grid formation. the layout is available as follow:
Telerik Ui for Xamarin.iOS ListView
On UWP and Android the item can be swiped beyond the SwipeOffset property. Add option to restrict the swiped distance to the SwipeOffset value.
Provide API which enables the group headers to remain in the view when scrolling until the next ones push them away.
The BorderLocation property of ListViewItemStyle seems to either not be working correctly, or is severely limited in its capabilities. Although the Location enum is not marked with [Flags], the values 0, 1, 2, 4, 8, 15 seem to imply bit flags that should be able to get OR'd together. However, when trying to use Location.Top | Location.Bottom, the result is NO border at all.
Example:
public class BorderLocationExample : ContentPage
{
private readonly ListViewItemStyle BorderAll = new ListViewItemStyle
{
BorderColor = Color.Blue,
BorderLocation = Location.All,
BorderWidth = 8
};
private readonly ListViewItemStyle BorderTop = new ListViewItemStyle
{
BorderColor = Color.Blue,
BorderLocation = Location.Top,
BorderWidth = 8
};
private readonly ListViewItemStyle BorderTopAndBottom = new ListViewItemStyle
{
BorderColor = Color.Blue,
BorderLocation = Location.Top | Location.Bottom, // <-- DOESN'T WORK !!! These items have NO border at all.
BorderWidth = 8
};
public BorderLocationExample()
{
BackgroundColor = Color.Gray;
var items = new ObservableCollection<string>
{
"Item 1",
"Item 2",
"Item 3",
};
Content = new StackLayout
{
Orientation = StackOrientation.Vertical,
Children =
{
new RadListView
{
ItemsSource = items,
ItemStyle = BorderAll
},
new RadListView
{
ItemsSource = items,
ItemStyle = BorderTop
},
new RadListView
{
ItemsSource = items,
ItemStyle = BorderTopAndBottom
},
}
};
}
}
Add support for Jump list in grouped scenario to simplify navigating between items
Available in the R2 2018 release.