= Chapter 15 Notes = Title: '''The Interactive Interface''' == Summary == So much ado about Labels and the text in them. === Programming Concepts Summary === Eight Views for this chapter. || '''Data Type''' || '''Views''' || || {{{Double}}} || {{{Slider}}}, {{{Stepper}}} || || {{{Boolean}}} || {{{Switch}}} || || {{{String}}} || {{{Entry}}}, {{{Editor}}}, {{{SearchBar}}} || || {{{DateTime}}} || {{{DatePicker}}}, {{{TimePicker}}}|| Additional views covered later * {{{WebView}}} * {{{Picker}}} * {{{ListView}}} * {{{TableView}}} Not covered: * Map * {{{OpenGLView}}} == Programs == === Program SliderDemo === Page 372. Concepts: 1. Three public properties 1. Minimum 1. Maximum 1. Value 1. fires ValueChanged 1. {{{ValueChangedEventArgs}}} has two values named {{{OldValue}}} and {{{NewValue}}}. 1. recommend you add some padding at the left and right. Pitfalls: Set the Maximum first, setting minimum greater than the default maximum causes an error. I.e. maximum > minimum == true. Also: {{attachment:pitfalls.png}} Classes: 1. Slider === Program RgbSliders === Page 377. Concepts: 1. Demo's slider with Color classes. === Program TextFade === Page 380. 1. Another slider demo on the alpha channel. === Program StepperDemo === Page 383. Concepts: * Adds an '''Increment''' property to allow an incremental value other than 1. === Program SwitchDemo === Page 385. Concepts: Introduces the {{{Switch}}} 1. Property: {{{IsToggled}}} of type bool. 1. Event: Toggled Classes: 1. Switch === Program CheckBoxDemo === Page 387. Concepts: 1. Properties: 1. {{{Text}}} 1. {{{FontSize}}} 1. {{{IsChecked}}} 1. Event: {{{IsCheckedChanged}}} Classes: 1. {{{CheckBox}}} is similar to the the switch, but the text identifier is par to of the visual. == Typing Text == * Entry (Horizontal scrolling) * Editor ((Default wrapping and vertical scrolling) * SearchBar (Horizontal scrolling) Methods/Properties: * Focus --> returns true if element receives focus * UnFocus --> removes input focus from element * IsFocused --> read only, true if visual element currently has input focus * Focused --> Event is fired when a visual element acquires input focus. * Unfocused --> Event is fired when a visual element loses input focus. * Property --> Keyboard, tells about the type of There exists different keyboards * Default * Text * Chat * Url * Email * Telephone * Numeric (positive numbers only) === Program EntryKeyboards === Page 395. Concepts: 1. You don’t want to set HorizontalOptions on an Entry to Left, Cen-ter, or Right unless you also set the WidthRequest property 1. Hence, always put data entry views in a scroll view! Properties: 1. Text - the string that appears in the Entry 1. TextColor - a Color value 1. IsPassword - a Boolean that causes characters to be masked right after they’re typed 1. Placeholder - light-colored text that appears in the Entry but disappears as soon as the user begins typing. Events: 1. TextChanged 1. Completed Classes: Entry === Program QuadraticEquations === Page 397. Notice the platform-specific WidthRequest setting in the implicit Style for the Entry. This gives each Entry a one-inch width. Concepts: 1. Demo of Entry. === Program JustNotes === Page 404. This is the most basic program that Android starts with on their site... Another simple demo of the Entry. Introduces Keyboard configuration. === Program SearchBar === Page 406. Concepts: 1. Demos a search bar for searching a text document. Classes: 1. {{{SearchBar}}} === Program DaysBetweenDates === Page 411. Concepts: 1. Demos {{{DatePicker}}}. 1. Calculates days between dates. Classes: 1. {{{DatePicker}}} === Program SetTimer === Page 415. Concepts: 1. How to display an alert. 1. How to use the {{{TimePicker}}} Classes: 1. {{{DisplayAlert}}} page 416.