}
}
+
+ /// <summary>
+ /// Scroll to specified item
+ /// </summary>
+ /// <remarks>
+ /// Make sure that the item that is about to receive the accessibility highlight is visible.
+ /// </remarks>
+ [EditorBrowsable(EditorBrowsableState.Never)]
+ protected override bool AccessibilityScrollToChild(View child)
+ {
+ foreach (RecyclerViewItem item in ContentContainer.Children.Where((item) => item is RecyclerViewItem))
+ {
+ if (child == item)
+ {
+ ScrollToIndex(item.Index);
+ return true;
+ }
+ }
+
+ return false;
+ }
+
// Realize and Decorate the item.
internal override RecyclerViewItem RealizeItem(int index)
{
public delegate bool AccessibilityDeleteText(int startPosition, int endPosition);
[EditorBrowsable(EditorBrowsableState.Never)]
public AccessibilityDeleteText DeleteText; // 26
+
+ [UnmanagedFunctionPointer(CallingConvention.Cdecl)]
+ public delegate bool AccessibilityScrollToChild(IntPtr child);
+ [EditorBrowsable(EditorBrowsableState.Never)]
+ public AccessibilityScrollToChild ScrollToChild; // 27
}
[DllImport(NDalicPINVOKE.Lib, EntryPoint = "CSharp_Dali_Toolkit_DevelControl_SetAccessibilityConstructor_NUI")]
InsertText = (startPosition, text) => AccessibilityInsertText(startPosition, Marshal.PtrToStringAnsi(text)),
SetTextContents = (newContents) => AccessibilitySetTextContents(Marshal.PtrToStringAnsi(newContents)),
DeleteText = (startPosition, endPosition) => AccessibilityDeleteText(startPosition, endPosition),
+ ScrollToChild = (child) => {
+ using (var view = new View(child, true))
+ {
+ return AccessibilityScrollToChild(view);
+ }
+ },
};
accessibilityDelegatePtr = Marshal.AllocHGlobal(size);
{
return false;
}
+
+ [EditorBrowsable(EditorBrowsableState.Never)]
+ protected virtual bool AccessibilityScrollToChild(View child)
+ {
+ return false;
+ }
}
}