[forms-devel] Adding the CheckBox and RadioButton controls
Grant Horak Chronicle
grant.horak.chronicle at gmail.com
Fri Aug 19 20:24:53 UTC 2016
Hello
I would like to follow up on Rina You and Joonghyun Cho proposals.
I think the specs of the CheckBox and RadioButton controls for
Xamarin.Forms should be guided by the platforms that support it:
Android:
https://developer.android.com/guide/topics/ui/controls/checkbox.html
https://developer.android.com/guide/topics/ui/controls/radiobutton.html
Windows 10:
https://msdn.microsoft.com/en-us/windows/uwp/controls-and-patterns/checkbox
https://msdn.microsoft.com/en-us/windows/uwp/controls-and-patterns/radio-button
iOS doesn't have anything out-of-the-box. The closest control I could find
is the UITableView which supports selecting items in a list:
https://developer.apple.com/library/ios/samplecode/TableMultiSelect/Introduction/Intro.html
On Android and Windows, these controls both share a parent class
(CompoundButton on Android and ToggleButton on Windows). This is where
the IsChecked logic is implemented.
The Windows version should be a solid base for our specifications,
especially since it has the same BindableProperty/DependencyProperty
pattern.
The common text/font properties should be similar to the Label control
(CheckBox and RadioButton are like labels with the check on the left).
Regarding IsChecked being a Nullable<bool>, on Windows, it is because:
"The indeterminate state is used to indicate that an option is set for
some, but not all, sub-choices."
You can look at the link above for examples where it is useful (typically a
tree view).
It should be possible to support this on Android by extending its CheckBox
implementation...
As for the concern with having checkboxes in a list view: Usually, the
pattern is to hide them by default, and only show them when the user
switches to "selection mode" (usually by pressing a Select button or,
sometimes, by long-pressing one of the items in the list).
But ultimately, this should not be a concern for the Xamarin.Forms library.
HTH,
Grant
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.dot.net/pipermail/forms-devel/attachments/20160819/71eb7247/attachment.html>
More information about the forms-devel
mailing list