Граф коммитов

587 Коммитов

Автор SHA1 Сообщение Дата
E.Z. Hart aabe44fe7d [Enhancement] Add CollectionView progress behind feature flag (#4265)
* The barest beginnings of starting a spike for LV2

* Very basic RecyclerView

* Very, very basic UICollectionView

* Start setting up galleries

* De-duplicate some gallery code

* Android horizontal layout

* Very basic horizontal/vertical text lists for iOS

* Vertical list views working in iOS, stashing while trying to figure out what the deal is
with horizontal views and frames with heights of 1

* Working on rotation issues in iOS

* Fix name of renderer in UWP; make horizontal scrolling work for horizontal
lists on UWP

* Set up gallery to generate different sizes of lists for testing

* Respond to items source updates on UWP

* Add gallery for GridLayout; Add GridLayout;
begin GridLayout implementation UWP

* Basic UWP gridness

* Add demo page for grid layouts with text;
Handle grid layout spans on UWP; handle grid layout span changes on UWP;

* Implement span updates on Android grid layouts;

* Ironed out most of the iOS text cell layout issues

* iOS vertical/horizontal text lists now working reliably;

* In progress on UWP DataTemplate stuff

* Dumping the data template into the itemsource

* Vertical list basically working with DataTemplate; horizontal list having image size issues

* Clean up names and move classes to their own files

* Adding some notes for FormsContentControl

* Rolling back platform test on UWP

* Fix Tizen build

* Fix typo and roll back old test code

* Remove old testing comments

* Make basic data templates work on Android

* Update measure to work horizontally

* Remove old testing code

* Terser rectangles

* Use nameof()

* Rename FormsContentControl to ItemContentControl

* Use CreateRenderer instead of GetOrCreateRenderer

* Clean up TemplateCodeCollectionViewGallery

* Add grid galleries for templates

* Nicer example templates

* Create gallery to test removing items from collections

* Smooth single item removal on Android

* Smooth item insertion on Android

* Observable collection item adds working on UWP

* UWP Remove

* Split files

* Add gallery for snap points; start implementation of snap points on Android;

* Move snap handling to separate class; implement Start snapping (horizontally)

* Debugging vertical overlap issues on Android

* Temporarily add IsClippedToBounds to generators to force clipping on Android

* Start and End SnapHelpers are working horizontally and vertically

* Consolidate some snap code on Android

* Mandatory Single Snapping working for Center/Start horizontally

* Throwing together scrollto gallery

* Super basic "ScrollTo" implementation for Android, plus test page

* Expand ScrollTo test harness;

* Move ScrollToRequestEventArgs to its own file

* Mostly working Carousel renderer; needs some cleanup and its own gallery pages

* Carousel gallery

* Naming cleanup

* Make parameter name consistent

* Finally some basic data template functionality for lists

* Checkpoint; sort of working

* Working out estimate size hacks

* Working out cell optimizations

* Checkpoint before some serious refactoring

* Collapsing closer to a solution; text lists and grids working;
template lists and grids working; uniform size hint mostly implemented;

* Remove awkward Update method

* No longer hard-coding list item heights estimates

* Consolidate more code

* Get rid of event on ItemsViewLayout

* Remove public NeedsEstimate stuff

* Get rid of IConstrainedCell

* Watch for Span changes on iOS

* Indexed ScrollTo on iOS

* Implement removal/insertion of items on iOS

* Handle Move, Reset, Replace on Android

* Add screens to test ScrollTo Item; implement ScrollTo Item for iOS

* ScrollTo Item working on Android, but only works for MakeVisible

* Implement Android ScrollTo Animated ScrollToPosition

* Ugly but functional non-animated scroll with ScrollToPosition

* Move Scroll logic into helper class for clarity and maintenance

* Fix Start snapping with grids (hard-coded span of 1)

* Fix next/previous row/col snapping bug for EndSnapHelper

* Remove some debug statements

* Clean up example code

* Fix missing delegate setting on CollectionView

* Add filtering example

* Watching the adapter and handling empty view from the renderer

* Add debugging for all the FindViewHolder methods

* Suuuuper basic but functional EmptyView

* Allow EmptyView to be turned on and off

* Building tests for all the EmptyView scenarios

* Set Platform on EmptyView (for now)

* Templated EmptyView on Android

* Clean up merge errors

* Require flag to use CollectionView on Android

* Require flag to use CollectionView on UWP

* Restore Label functionality commented out during testing

* Adding a note for myself

* Add flags for iOS; flags for Android CarouselView;

* Remove Calabash out-commenting

* Undo changes to DotSettings; remove outdated TODOs

* Fix formatting

* Remove debugging code; remove outdated todos; remove unnecessary comments

* Undo randon VS changes

* Include CollectionView in experimental renderer testing

* Use correct property in nameof() call

* Rename ScrollToRequestEventArgs Animate -> IsAnimated

* Rename Constrain -> ConstrainTo for consistency

* Add Core flags feature; add flag verification for CollectionView features

* Make sure no one is subclassing native CollectionView stuff without flag

* Set CollectionView flags for unit tests

* Make flags depend on Application.Current

* Fix iOS 9.3 exception when laying out CollectionView

* Use Device.Flags

* Move CV flag check to CollectionView; use Device.Flags on native platforms;

* Move classes into their own files

* Make CollectionView flag check method non-browseable

* Remove old TODO

* Remove Element.Platform sets

* stubbed toolbox entries and snippets for Carousel and Collection

* updated CV snippet to include layout

* Remove Linq using statement

* Remove unused using statement

* Turn off CollectionView in Control Gallery

* Move PropertyChangedEventArgsExtensions to internal on each platform

* Clean up debugging code

* Fix broken test setup

* Remove ToString overrides

* Fix broken test screen
Fix broken test screen

* Fix rebase errors

* Update submodule

* Fix rebase error
2018-11-13 12:49:08 +00:00
Rui Marinho 3c3ecfd454 Merge branch '3.4.0' 2018-11-12 12:53:42 +00:00
Shane Neuville 2f416f2735
Bring ImageButton API additions in line with current code (#4328)
* Bring ImageButton API additions in line with current code

* [Core] putting things in better places

* [Core] first round of changes

* fix issue with checking if bindable properties are set
2018-11-10 12:25:01 -07:00
Rui Marinho c3f5f1bcc5
[Android] Fix TabbedPage appearing when inside other PageContainer (#4309) fixes #4303
* [Controls] Add repo for issue #4303

* [Android] Don't fire Appearing if we are inside a PageContainer
2018-11-09 23:17:39 +00:00
ShaneN 9997b024f2 Merge branch '3.4.0' 2018-11-06 10:44:33 -07:00
Shane Neuville d7c20b7466 [Android] Convert android projects to package reference (#4310)
* [Android] Package Reference

* [Android] forwarders

* add package id to fix nuget restore confusion

* adding packageid to the more relevant projects
2018-11-06 16:09:31 +00:00
ShaneN 494b9137fd fix merge issues 2018-11-05 19:08:08 -07:00
ShaneN 1d19f71810 merge 3.4.0 into master 2018-11-05 18:43:06 -07:00
Andrei ee91ac4439 xamarin/Xamarin.Forms/issues/2315 (#4190) fixes #2315 2018-11-05 17:19:16 +00:00
Shane Neuville 7917719c9d
ImageButton (#1974)
* ImageButton Implementation

* [Android] rename BorderBackgroundManager

* [Android] copy AspectFill changes to ImageButton

* [UITests] fix order of gallery pages to work with tests

* [Android] Account for changing image region with border/shadows

* [Android] check for api 18 and add setpadding call back in

* [Android] throw exception instead of crash when image fails to load

* Addressing issue comments and adding additional test cases to Issue demo

- fixes #1724
2018-11-03 16:45:28 -06:00
Noam Yogev dbfa47c978 Add Editor.IsTextPredictionEnabled property (#4023)
* Add Editor.IsTextPredictionEnabled property

* simplfy UpdateInputType logic

* modify IsTextPredictionEnabledProperty BindingMode to Default

* undo changes of commit 5db2456d

* [UITests] update namespace for UI Tests

- Fixes #3555
2018-11-01 10:03:23 -06:00
E.Z. Hart 505a855cad
Move GetNativeSize to PlatformServices, remove IPlatform (#4235) 2018-10-31 15:12:22 -06:00
ShaneN 15f77934f6 merge 3.4.0 into master 2018-10-28 20:38:26 -06:00
ShaneN 9ce2bffb0b Merge branch '3.3.0' into 3.4.0 2018-10-28 20:01:52 -06:00
E.Z. Hart 9e72c50380 Enforce clipping on fast renderer ImageRenderer when using AspectFill; fixes #4133 (#4218)
- fixes #4133
2018-10-26 21:08:38 -06:00
Gerald Versluis a66b9bba6b [Core, iOS, MacOS, Android, UWP, WPF] ListView hide scroll view scroll bars (#3897) fixes #3843
* Update from origin (#8)

* [C] VisibilityConverter Trims input (#3581)

For CSS purposes, the VisibilityConverter was added, and actually
replaced the `Boolean.Parse(str)` call for parsing Visibility.
`Boolean.Parse()` trims input, and the converter was not, so this was a
regression.
This changes Trim() the input, to be fully backward compatible.

- fixes #3554

* Ensure ConstructorCountId and TimeId elements are available before querying them (#3588)

* For consistency with ResourceDictionary, expose the Source for a StyleSheet (#2589)

This would allow previewer/designer/reloader to determine the source of a
stylesheet and refresh its content when appropriate.

* Revert "For consistency with ResourceDictionary, expose the Source for a StyleSheet (#2589)"

This reverts commit f66a72de5b.

* Fix NRE; Ret 0 if Text null (#3594) fixes #3579

* [UWP, WPF] Fixes rendering of the main page (#2896) fixes #2704

* [Core] Ignore Shamehat target when running DesignTimeBuild (#3605)

* [XamlC] Fix binding compilation fo value types (#3551)

properly load valuetype arguments of generated setters, using ldarg,
instead of ldarga.

- fixes #3539

* Update PULL_REQUEST_TEMPLATE.md

* Update PULL_REQUEST_TEMPLATE.md

* [Android] Fix Label LineHeight (#3452)

* fix line height android

* Make UAP respect initial LineHeight

* update .create-nuget.bat (#3638)

* Add Null Check to GetRenderer (#3575)

- fix #3563

* Fix 3562 Null Reference Exception (#3576)

- fixes #3562

* Fix 3564 Null Reference Exception (#3578)

- fixes #3564

* [iOS] AutomationProperty support for cells (#3313) fixes #3296

* [iOS] AutomationProperty support for cells

* Add test case to AutomationProperties gallery

* [UWP] Fix crash app when create navigation/tabbed page without children pages fixes #3188 (#3514)

* [Android] Use height when determining ScaledScreenSize; fixes #3609 (#3641)

* [C] Set binding context on Span Gestures (#3639)

* [Core] Set binding context on Span Gestures
* [Core] Simplify loop setting child binding context

- fixes #3524

* Update PULL_REQUEST_TEMPLATE.md

* [Android] remove deprecated AndroidUseLatestPlatformSdk (#3672)

* [iOS] iPad ActionSheet should always have a Cancel method (#3636)

* Add repro for #3049

* [iOS] iPad ActionSheet should always have a Cancel method

fixes #3049

* [Android] fixes #3675 - set  initial ScrollView Scroll values when RTL (#3676)

* [Android] API check for Shadow properties on Button (#3617) fixes #2702

* [Android] API check for Shadow properties on Button

* Fix swapped shadow values

* [iOS] fixes #3525 - add epsilon for float compare (#3654)

* [iOS] fixes #3525 - add epsilon for float compare and make region immutable

* [ControlGallery] spread out spans to account for click slop

* [ControlGallery] - adjust span slightly for android test

* [Core] remove private

* Fix text wrapping (#3671) fixes #3634

* [GTK] Fix navigation bar visibility updates (#3651)

* Fix partially  #3585 (#3592)

* Make webkit-sharp.dll.config cross-platform

* Update webkit-sharp.dll with missing signals bindings

see: https://github.com/ylatuya/webkit-sharp/tree/fluendo

* [iOS, UWP] fixes #2894 - Gestures collection changes weren't correctly propagating (#3643)

* [iOS, UWP] fixes #2894 - Gestures weren't wiring up to spans in all cases

* [Core] remove ChildGestureRecognizers when spans get removed

* [iOS] removed incorrect return from null

* Fixes #3663 (#3684)

* Fix ScrollView Padding issue (#3685)

* [WPF] Memory leak when you pop a TabbedPage (#3372) fixes #3267

* Fix [WPF] Memory leak when you pop a TabbedPage

* Update ViewRenderer.cs

* Update ViewRenderer.cs

* [Android,iOS,UWP] Allow Entry CursorPosition/SelectionLength to be set in ctor (#3402) fixes #3343 fixes #3633

* Add repro for #3343 + unit tests

* [Core] Disallow negative values for CursorPosition/SelectionLength

* [All] CursorPosition/SelectionLength can bindin ctor & clear value

fixes #3343

* typo

* cleanup

* [iOS] Cursor snaps to end

* try/catch

* [CSS] add more properties (#3466)

map new CSS properties:
- `color` on `IColorElement` (`ActivityIndicator`, `BoxView`),
  `ProgressBar` and `Switch`
- `row-gap` and `column-gap` on `Grid`
- `transform` and `transform-origin` on `VisualElement`
- `vertical-align` on `Label`

add new XF-specific CSS properties
- `-xf-placeholder` and `-xf-placeholder-color` on `Editor`, `Entry`,
  `SearchBar`
- `-xf-max-length` on `InputView` (`Editor` and `Entry`)
- `-xf-bar-background-color` and `-xf-bar-text-color` on
  `NavigationPage` and `TabbedPage`
- `-xf-orientation` on `ScrollView` and `StackLayout`
- `-xf-horizontal-scroll-bar-visibility` and
  `-xf-vertical-scroll-bar-visibility` on `ScrollView`
- `-xf-min-track-color`, `-xf-max-track-color` and `("-xf-thumb-color`
  on `Slider`
- `-xf-spacing` on `StackLayout`

This PR replaces and closes #3276

- fixes #2891

* [iOS] Specify a default size for UISearchBar width if needed (#3635) fixes #3413 fixes #2139

* [Controls] Add reproduction and test case for issue #3413

* [iOS] Don't use max value for iOS UISearchbar breaks on iOS 11.3

* [iOS] Force width value so we can renderer UISearchBar on iOS10 with infinite width

* [Controls] Fix spelling and add Manual Review to the test of #3413

* [iOS] Simplify code for UISearchBar width

* [iOS] Return always some width from measure the UISearchBar on IOS

* [Controls] Add reproduction case for issue #2139

* [UWP] Fixed double set margins in Layouts (#3570) fixes #3398 fixes #3616

* [Android] Support multiple clipping settings in single layout (#3559)

* Repro

* Fix for API 18+

*  [iOS] Unsubscribe CellPropertyChanged when SwitchCellRenderer is disposed (#3518)

* [Controls] Add repo of issue #3408

* [iOS] Unsubscribe CellPropertyChanged when cell is disposed

* [Controls] Add issue to project

* [iOS] Introduce CellPropertyChange to CellTableViewCell to used by all other cell renderers

* [Controls] Simplify Issue

* [iOS] Remove PropertyChanged that was not used

* [Controls] add check for null binding on template, add notes about issues

* [Controls] added reference to Android crash

* [iOS]Use existing PropertyChanged on ViewCelRenderer

* [iOS] Keep the existing override so we don't break users

* Update TextCellRenderer.cs

* update submodule

* 24H Mode (#3701)

The 24h mode for the pickerdialog was not working.

Version 3.1 was working fine. 

Here is an updated file.

* [UWP] uncomment tests that are now passing for 3188 (#3723)

* [UITest] Update Xamarin.UITest nuget package (#3632)

* [UITests] Update Xamarin.UITest 2.2.5

* [UITests] Try fix Toolbaritems

* [UITest] Update to 2.2.5-1606

* [UITests] Small Fixes and workarounds to make uitest happy

* [UITests ] Add delay to 1733 for API28

* [Android] Revert bad merge (#3746)

fixes #3705

* [Android, iOS] Fixes layout compression causes (#3698) fixes #3624

* [Android, iOS] Fixes layout compression causes

* [iOS] improve UpdateNewElement method

* Fix build error hopefully

* [UWP] Fixes CollectionChanged events in ListView (#3323)

* fixes #3273

* [UWP] Fixes CollectionChanged events in ListView

* a wrapped collection is used only if the SourceItem is not ObservableCollection

* improve uitest

* fixed NRE in empty ListView

* added a sortable custom renderer for UItest

* minor refactoring

* fixed reset of not wrapped collections

* addressing comments

* [UWP] remove WinRT hack

* [UWP] add missing using and cleanup additional resources

* [Android] Update Forms to remove API28 deprecated API (#3653) fixes #2128 fixes #3629

* [Build] Update provisioning

* [Controls] Ignore deprecated  Android API usage

* [Android] Remove use of obsolete color usage

* [Android] Remove app fragment usage

* [android] Rollback changes to EntryCellRenderer

* [Android] Better way to get the default color for the label text

* [Android] Obsolete message for ContentPage.CreateFragment()

* [ControlGallery] - create bitmap from Drawable to use for pixel location

* [Android] Use textcolor resource

* Update submodule

* Fix tests (#3771)

* [ControlGallery] Wait for element and add timing to tests

* [iOS] Fix NRE on RenderPool

* Add TabStop/TabIndex (#2795)

* [Core, UWP, Android] support TabStop/TabIndex

* removing linq

* add iOS / MacOS implementation

* add WPF implementation
fixes UWP implementation

* - addressing comments
- improve test
- optimizations
- added previous tab direction in same tab group

* addressing comments

* [Android] support tabstop for pickers

* - moving shared code to a static class
- removed reflection

* ITabStop -> changed to internal, renamed, added in to fastRenderers

* Update ITabStop to be public

* Fix : Binding Icon in ToolbarItem in TabbedPage doesn't refresh (#3761) fixes #3756

* [iOS] Fix NRE on ContextCell (#3714) fixes #3275

* [Controls] Add repo for issue #3275

* [iOS] Fix NRE when no gestures exist on table

* [iOS] Null check outside loop

* [iOS]Make sure to dispose/unhook when we are removed from UITableView.

* Update submodule

* [iOS] Don't double dispose ContextActionCell

* WPF - Fix Width and Height measurement when GetDesiredSize (#3750)

* WPF - Reset Width and Height when GetDesiredSize

* Some formatting changes

* Add APP directive

* [WPF]Fix build

* [Android Maps] Make markers available to subclasses (#3751)

* Make markers available to subclasses

* Fix build

* Use Find instead of FirstOrDefault

* [UITests] wait for element before querying for it (#3791)

* [UITests] wait for element before querying for it

* [Controls] generalize and better represent intended behavior

* WPF - Fix Local store not persistant when restarting App (#3752)

-fixes #3541
* WPF - Fix Local store not persistant when restarting App
* Add UITest
* [Controls] Add automated UI Test

* [UITests] Isolate test 3408

* [UITest] Update Xamarin UITest packages

* [UWP] implement Replace without reloading ListView (#3792)

-fixes #3788
* [UWP] implement Replace without reloading ListView
* [UWP] extract bindingcontext of new item for replace

* [iOS] Use UIApperance default color for UISwitch (#3819)

* [Controls] Set default color of UISwitch to Red

* [iOS] Use default color from Apperance API

* [UITests] replace awaits with more reliable WaitForElement (#3835)

* [Core] Propagate BindingContext changes to TitleView (#3823)

* [Core] Propagate BindingContext changes to TitleView

* [Tests] Move UI test to Core Unit Test

* [A] do not draw gradient for empty CornerRadius (#3786)

Drawing CornerRadius (introduce by #1998) when the CornerRadii are
actually 0 causes scaling artifacts on API < 25.

This fixes the regression when no CornerRadius is set. Expect blurry
border scaling with CornerRadius not empty and API < 25

- fixes #3781

* [Android] Fix WebView.Navigating event, make WebViewClient inheritable (#3780)

* Extracted WebViewRenderer.WebClient to FormsWebViewClient, moved SendNavigating call from ShouldOverrideUrlLoading to OnPageStarted

* Changed _webViewClient and GetWebViewClient() method to return base class

* Changed public things to protected internal

* Fix spaces to tabs indentation to match the coding style (#3745)

* [Build] Fix merge

* Fix #3097 swipe gesture not being handled in VisualElementTracker. (#3098) Fixes #3097

* Implemented for iOS, Android and MacOS

* Implemented UAP and WPF

* Refactored duplicate code and removed typo in method name

* Update from origin (#9)

* [C] VisibilityConverter Trims input (#3581)

For CSS purposes, the VisibilityConverter was added, and actually
replaced the `Boolean.Parse(str)` call for parsing Visibility.
`Boolean.Parse()` trims input, and the converter was not, so this was a
regression.
This changes Trim() the input, to be fully backward compatible.

- fixes #3554

* Ensure ConstructorCountId and TimeId elements are available before querying them (#3588)

* For consistency with ResourceDictionary, expose the Source for a StyleSheet (#2589)

This would allow previewer/designer/reloader to determine the source of a
stylesheet and refresh its content when appropriate.

* Revert "For consistency with ResourceDictionary, expose the Source for a StyleSheet (#2589)"

This reverts commit f66a72de5b.

* Fix NRE; Ret 0 if Text null (#3594) fixes #3579

* [UWP, WPF] Fixes rendering of the main page (#2896) fixes #2704

* [Core] Ignore Shamehat target when running DesignTimeBuild (#3605)

* [XamlC] Fix binding compilation fo value types (#3551)

properly load valuetype arguments of generated setters, using ldarg,
instead of ldarga.

- fixes #3539

* Update PULL_REQUEST_TEMPLATE.md

* Update PULL_REQUEST_TEMPLATE.md

* [Android] Fix Label LineHeight (#3452)

* fix line height android

* Make UAP respect initial LineHeight

* update .create-nuget.bat (#3638)

* Add Null Check to GetRenderer (#3575)

- fix #3563

* Fix 3562 Null Reference Exception (#3576)

- fixes #3562

* Fix 3564 Null Reference Exception (#3578)

- fixes #3564

* [iOS] AutomationProperty support for cells (#3313) fixes #3296

* [iOS] AutomationProperty support for cells

* Add test case to AutomationProperties gallery

* [UWP] Fix crash app when create navigation/tabbed page without children pages fixes #3188 (#3514)

* [Android] Use height when determining ScaledScreenSize; fixes #3609 (#3641)

* [C] Set binding context on Span Gestures (#3639)

* [Core] Set binding context on Span Gestures
* [Core] Simplify loop setting child binding context

- fixes #3524

* Update PULL_REQUEST_TEMPLATE.md

* [Android] remove deprecated AndroidUseLatestPlatformSdk (#3672)

* [iOS] iPad ActionSheet should always have a Cancel method (#3636)

* Add repro for #3049

* [iOS] iPad ActionSheet should always have a Cancel method

fixes #3049

* [Android] fixes #3675 - set  initial ScrollView Scroll values when RTL (#3676)

* [Android] API check for Shadow properties on Button (#3617) fixes #2702

* [Android] API check for Shadow properties on Button

* Fix swapped shadow values

* [iOS] fixes #3525 - add epsilon for float compare (#3654)

* [iOS] fixes #3525 - add epsilon for float compare and make region immutable

* [ControlGallery] spread out spans to account for click slop

* [ControlGallery] - adjust span slightly for android test

* [Core] remove private

* Fix text wrapping (#3671) fixes #3634

* [GTK] Fix navigation bar visibility updates (#3651)

* Fix partially  #3585 (#3592)

* Make webkit-sharp.dll.config cross-platform

* Update webkit-sharp.dll with missing signals bindings

see: https://github.com/ylatuya/webkit-sharp/tree/fluendo

* [iOS, UWP] fixes #2894 - Gestures collection changes weren't correctly propagating (#3643)

* [iOS, UWP] fixes #2894 - Gestures weren't wiring up to spans in all cases

* [Core] remove ChildGestureRecognizers when spans get removed

* [iOS] removed incorrect return from null

* Fixes #3663 (#3684)

* Fix ScrollView Padding issue (#3685)

* [WPF] Memory leak when you pop a TabbedPage (#3372) fixes #3267

* Fix [WPF] Memory leak when you pop a TabbedPage

* Update ViewRenderer.cs

* Update ViewRenderer.cs

* [Android,iOS,UWP] Allow Entry CursorPosition/SelectionLength to be set in ctor (#3402) fixes #3343 fixes #3633

* Add repro for #3343 + unit tests

* [Core] Disallow negative values for CursorPosition/SelectionLength

* [All] CursorPosition/SelectionLength can bindin ctor & clear value

fixes #3343

* typo

* cleanup

* [iOS] Cursor snaps to end

* try/catch

* [CSS] add more properties (#3466)

map new CSS properties:
- `color` on `IColorElement` (`ActivityIndicator`, `BoxView`),
  `ProgressBar` and `Switch`
- `row-gap` and `column-gap` on `Grid`
- `transform` and `transform-origin` on `VisualElement`
- `vertical-align` on `Label`

add new XF-specific CSS properties
- `-xf-placeholder` and `-xf-placeholder-color` on `Editor`, `Entry`,
  `SearchBar`
- `-xf-max-length` on `InputView` (`Editor` and `Entry`)
- `-xf-bar-background-color` and `-xf-bar-text-color` on
  `NavigationPage` and `TabbedPage`
- `-xf-orientation` on `ScrollView` and `StackLayout`
- `-xf-horizontal-scroll-bar-visibility` and
  `-xf-vertical-scroll-bar-visibility` on `ScrollView`
- `-xf-min-track-color`, `-xf-max-track-color` and `("-xf-thumb-color`
  on `Slider`
- `-xf-spacing` on `StackLayout`

This PR replaces and closes #3276

- fixes #2891

* [iOS] Specify a default size for UISearchBar width if needed (#3635) fixes #3413 fixes #2139

* [Controls] Add reproduction and test case for issue #3413

* [iOS] Don't use max value for iOS UISearchbar breaks on iOS 11.3

* [iOS] Force width value so we can renderer UISearchBar on iOS10 with infinite width

* [Controls] Fix spelling and add Manual Review to the test of #3413

* [iOS] Simplify code for UISearchBar width

* [iOS] Return always some width from measure the UISearchBar on IOS

* [Controls] Add reproduction case for issue #2139

* [UWP] Fixed double set margins in Layouts (#3570) fixes #3398 fixes #3616

* [Android] Support multiple clipping settings in single layout (#3559)

* Repro

* Fix for API 18+

*  [iOS] Unsubscribe CellPropertyChanged when SwitchCellRenderer is disposed (#3518)

* [Controls] Add repo of issue #3408

* [iOS] Unsubscribe CellPropertyChanged when cell is disposed

* [Controls] Add issue to project

* [iOS] Introduce CellPropertyChange to CellTableViewCell to used by all other cell renderers

* [Controls] Simplify Issue

* [iOS] Remove PropertyChanged that was not used

* [Controls] add check for null binding on template, add notes about issues

* [Controls] added reference to Android crash

* [iOS]Use existing PropertyChanged on ViewCelRenderer

* [iOS] Keep the existing override so we don't break users

* Update TextCellRenderer.cs

* update submodule

* 24H Mode (#3701)

The 24h mode for the pickerdialog was not working.

Version 3.1 was working fine. 

Here is an updated file.

* [UWP] uncomment tests that are now passing for 3188 (#3723)

* [UITest] Update Xamarin.UITest nuget package (#3632)

* [UITests] Update Xamarin.UITest 2.2.5

* [UITests] Try fix Toolbaritems

* [UITest] Update to 2.2.5-1606

* [UITests] Small Fixes and workarounds to make uitest happy

* [UITests ] Add delay to 1733 for API28

* [Android] Revert bad merge (#3746)

fixes #3705

* [Android, iOS] Fixes layout compression causes (#3698) fixes #3624

* [Android, iOS] Fixes layout compression causes

* [iOS] improve UpdateNewElement method

* Fix build error hopefully

* [UWP] Fixes CollectionChanged events in ListView (#3323)

* fixes #3273

* [UWP] Fixes CollectionChanged events in ListView

* a wrapped collection is used only if the SourceItem is not ObservableCollection

* improve uitest

* fixed NRE in empty ListView

* added a sortable custom renderer for UItest

* minor refactoring

* fixed reset of not wrapped collections

* addressing comments

* [UWP] remove WinRT hack

* [UWP] add missing using and cleanup additional resources

* [Android] Update Forms to remove API28 deprecated API (#3653) fixes #2128 fixes #3629

* [Build] Update provisioning

* [Controls] Ignore deprecated  Android API usage

* [Android] Remove use of obsolete color usage

* [Android] Remove app fragment usage

* [android] Rollback changes to EntryCellRenderer

* [Android] Better way to get the default color for the label text

* [Android] Obsolete message for ContentPage.CreateFragment()

* [ControlGallery] - create bitmap from Drawable to use for pixel location

* [Android] Use textcolor resource

* Update submodule

* Fix tests (#3771)

* [ControlGallery] Wait for element and add timing to tests

* [iOS] Fix NRE on RenderPool

* Add TabStop/TabIndex (#2795)

* [Core, UWP, Android] support TabStop/TabIndex

* removing linq

* add iOS / MacOS implementation

* add WPF implementation
fixes UWP implementation

* - addressing comments
- improve test
- optimizations
- added previous tab direction in same tab group

* addressing comments

* [Android] support tabstop for pickers

* - moving shared code to a static class
- removed reflection

* ITabStop -> changed to internal, renamed, added in to fastRenderers

* Update ITabStop to be public

* Fix : Binding Icon in ToolbarItem in TabbedPage doesn't refresh (#3761) fixes #3756

* [iOS] Fix NRE on ContextCell (#3714) fixes #3275

* [Controls] Add repo for issue #3275

* [iOS] Fix NRE when no gestures exist on table

* [iOS] Null check outside loop

* [iOS]Make sure to dispose/unhook when we are removed from UITableView.

* Update submodule

* [iOS] Don't double dispose ContextActionCell

* WPF - Fix Width and Height measurement when GetDesiredSize (#3750)

* WPF - Reset Width and Height when GetDesiredSize

* Some formatting changes

* Add APP directive

* [WPF]Fix build

* [Android Maps] Make markers available to subclasses (#3751)

* Make markers available to subclasses

* Fix build

* Use Find instead of FirstOrDefault

* [UITests] wait for element before querying for it (#3791)

* [UITests] wait for element before querying for it

* [Controls] generalize and better represent intended behavior

* WPF - Fix Local store not persistant when restarting App (#3752)

-fixes #3541
* WPF - Fix Local store not persistant when restarting App
* Add UITest
* [Controls] Add automated UI Test

* [UITests] Isolate test 3408

* [UITest] Update Xamarin UITest packages

* [UWP] implement Replace without reloading ListView (#3792)

-fixes #3788
* [UWP] implement Replace without reloading ListView
* [UWP] extract bindingcontext of new item for replace

* [iOS] Use UIApperance default color for UISwitch (#3819)

* [Controls] Set default color of UISwitch to Red

* [iOS] Use default color from Apperance API

* [UITests] replace awaits with more reliable WaitForElement (#3835)

* [Core] Propagate BindingContext changes to TitleView (#3823)

* [Core] Propagate BindingContext changes to TitleView

* [Tests] Move UI test to Core Unit Test

* [A] do not draw gradient for empty CornerRadius (#3786)

Drawing CornerRadius (introduce by #1998) when the CornerRadii are
actually 0 causes scaling artifacts on API < 25.

This fixes the regression when no CornerRadius is set. Expect blurry
border scaling with CornerRadius not empty and API < 25

- fixes #3781

* [Android] Fix WebView.Navigating event, make WebViewClient inheritable (#3780)

* Extracted WebViewRenderer.WebClient to FormsWebViewClient, moved SendNavigating call from ShouldOverrideUrlLoading to OnPageStarted

* Changed _webViewClient and GetWebViewClient() method to return base class

* Changed public things to protected internal

* Fix spaces to tabs indentation to match the coding style (#3745)

* [Build] Fix merge

* Fix #3097 swipe gesture not being handled in VisualElementTracker. (#3098) Fixes #3097

* Ensure that the ListViewAdapter is no longer being used by the ListVi… (#3848) fixes #3603

* Ensure that the ListViewAdapter is no longer being used by the ListView before disposing it

* Remove `RemoveAllViews` from `Dispose`

* Fixed code review comments

* Removed obsolete convert method

* Making sure default platform functionality is intact iOS and Android

As er code review comments

* Making sure default platform functionality is intact MacOS

* Making sure default platform functionality is intact UWP and WPF

* Code review comments for iOS, Android and MacOS

Default platform value is now preserved and applied when setting is set to default

* Code review comments UWP and WPF

* Fix build

* [UITest] - add ui test to test scroll permutations

* [Uwp] fix bad merge

* [wpf] fix spacing
2018-10-25 09:32:22 +01:00
Jonathan Peppers 8b93ece95a [msbuild] use portable pdb files (#4201)
Currently, on the first build of a "Hello World" Xamarin.Forms app,
you will see this in the build log:

    ConvertDebuggingFiles
        Parameters
            Files
                C:\Users\myuser\.nuget\packages\xamarin.forms\3.1.0.697729\lib\MonoAndroid10\FormsViewGroup.pdb
                C:\Users\myuser\.nuget\packages\xamarin.forms\3.1.0.697729\lib\MonoAndroid10\Xamarin.Forms.Platform.Android.pdb
        OutputItems
            _ConvertedDebuggingFiles
                C:\Users\myuser\.nuget\packages\xamarin.forms\3.1.0.697729\lib\MonoAndroid10\FormsViewGroup.dll
                C:\Users\myuser\.nuget\packages\xamarin.forms\3.1.0.697729\lib\MonoAndroid10\Xamarin.Forms.Platform.Android.dll

The logging is a little weird here, but this `ConvertDebuggingFiles`
MSBuild task takes about 100ms on my machine.

What is it doing?

The Mono debugger can support two types of debugging files:
- `mdb` files
- "portable" `pdb` files

If Xamarin.Android's build finds a "non-portable" `pdb` file, we have
to run it through this task to convert to an `mdb` file... This gives
us proper stacktraces for `FormsViewGroup.dll` and
`Xamarin.Forms.Platform.Android.dll`.

You can change the type of debugging symbols in your project with the
`DebugType` setting, which has these options:
- Blank or `None`: don't generate symbols. (Although Xamarin.Android
  has funny behavior here, see:
  https://github.com/xamarin/xamarin-android/issues/2282)
- `Full` generates an `mdb` file, this is a Windows-proprietary format
  for debug builds
- `PdbOnly` generates a "non-portable" `pdb` file, a
  Windows-proprietary format for release builds
- `Portable` generates a "portable" pdb file, which is the new
  standard that works for debug and release builds. New SDK-style
  MSBuild projects use this option by default.

These values are not case sensitive, I have mostly seen them lower
case in newer projects.

So what does Xamarin.Forms need to do?

Use `<DebugType>portable</DebugType>` in any Android class library or
app project. Other platforms, this is optional, not as much benefit. I
have heard that `DebugType=portable` might cause a problem on UWP.

* Xamarin.Forms will ship "portable" `pdbs` in its NuGet package for
  `FormsViewGroup.dll` and `Xamarin.Forms.*.Android.dll`. Developers
  won't pay the 100ms on initial build.
* Initial build times for `Xamarin.Forms.sln` will be slightly better
  for development, although I didn't measure the difference here.
2018-10-24 20:35:47 +02:00
E.Z. Hart 0d40cecdb9 Add missing initial call to UpdateLineHeight; fixes #4136 (#4147) 2018-10-23 23:32:09 +01:00
Pavel Yakovlev ce08090d2b [Android] Fixes AutomationProperties.Name on Button (#4094)
* [Android] Fixes AutomationProperties.Name on Button

* [Android] Fixes for Switch control
2018-10-23 10:25:19 -06:00
Rui Marinho ceb2537805
[Enhancements] Toolbar a11y (#3974) fixes #1742 fixes #3795
* [Controls] Add automation id to icon

* [iOS] Add AutomationId support to MDP tooggle button

* [Android] Add support for AutomationId to ActionBarDrawerToggle and MasterDetailPage

* [IOS] Refactor and add Accessibility to ToolbarItems

* [iOS] Fix typos

* [Android] Add accessibility to ToolbarItems

* [UWP]  Refactor A11y to extensions

* [UWP]  Set Accessibility properties on ToolbarItems

* [UWP] Set accessibility to MDP button

* [ControlGallery] Add accessibility toolbaritems to gallery

* Comment test out

* [iOS] Fix NRE when Control is being disposed

* [UITests] Remove not used UITests file
2018-10-22 17:53:17 +01:00
Tomasz Cielecki a3901827a4 Use ViewCompat to set and get label for view (#3996) 2018-10-16 14:53:46 -06:00
Andrei 2acef3278e Fix typeface reset issue (#4019) 2018-10-16 13:55:50 -04:00
Andrei N afc037ffec Added WebView Reload (#4013) fixes #3776
* Added WebView Reload

* WebView Reload Added Tizen suport
2018-10-13 20:53:46 -04:00
ShaneN 1f23022d92 Merge branch '3.3.0' 2018-10-02 13:09:27 -06:00
E.Z. Hart 480d75370e [Android] If MaxLines is not explicitly set, let LineBreakMode handle it (#3936)
* [Android] If MaxLines is not explicitly set, all LineBreakMode to set it;
if MaxLines is explicitly set, MaxLines setting wins. Use a more reasonable
default for native MaxLines when handling it via LineBreakMode. Consolidate
MaxLines handling code between legacy and fast renderers. Remove unnecessary
setting of SingleLine (which only applies to input).
- fixes #3772

* Remove unnecessary maxLines setting

* Handle resetting MaxLines to -1/default

* Reinstate workaround for array bounds exception in older Android APIs
2018-10-02 13:04:48 -06:00
Jeremy Marcus 33ea577660 Make GetIconDrawable virtual (#3967)
By making GetIconDrawable virtual for the Android TabbedPageRenderer it allows for the icon to come from other sources (like glyph fonts). This will work for both top and bottom tabs.
2018-10-02 11:04:51 -07:00
Adam Barath 799c1f07b7 Fix bugzilla60787 (#3933)
* [Android]Fix for frame renderer's bug (bugzilla 60787).

#3902
https://bugzilla.xamarin.com/show_bug.cgi?id=60787
https://github.com/xamarin/Xamarin.Forms/issues/3902

* Add control to repro

* PR fix

* Build fix

* Build fix for Xamarin.Forms.Core.Android.UITests
2018-10-01 10:19:22 -07:00
Stephane Delcroix 632ed1139d Merge branch '3.3.0' 2018-10-01 09:00:49 +02:00
E.Z. Hart 5c89570961 Update ClipBounds when View bounds changes (#3909)
fixes #3717
2018-09-28 11:31:16 -07:00
Rui Marinho ea35faf656
[Android] Convert corner radius with correct pixel density (#3893) fixes #3884
* [Controls] Add Issue #3884 repo

* [Android] Convert  corner radius with correct pixel density fixes #3884

* [Controls] Update test message
2018-09-28 17:43:40 +01:00
adammeaney 84695d72e2 Added a disabled look to Android Toolbar Item images. (#3773)
* Added a disabled look to Android Toolbar Item images.

* Update NavigationPageRenderer.cs

Refactored DisabledToolbarAlpha into a constant as requested.
2018-09-27 11:13:30 -07:00
E.Z. Hart d6dbccde98 [Android] Make native Android Platforms accessible via Context (#3364)
* Make native Android Platforms accessible via Context

* Add null checks
2018-09-27 11:11:33 -07:00
E.Z. Hart 807aa56157 Prevent double time/date picker dialogs on Android when setting focus (#3899) 2018-09-26 12:17:21 +01:00
adrianknight89 27d92537fc [Android] Enable MaxLines and TextDecorations on fast renderers (#3878)
* enable MaxLines on fast renderers

* added text decoration functionality

* include test in project
2018-09-24 10:26:07 -10:00
Rui Marinho e02542411f Merge branch '3.2.0' into 3.3.0 2018-09-24 12:48:11 +01:00
E.Z. Hart 16a4e91aac Ensure that the ListViewAdapter is no longer being used by the ListVi… (#3848) fixes #3603
* Ensure that the ListViewAdapter is no longer being used by the ListView before disposing it

* Remove `RemoveAllViews` from `Dispose`
2018-09-24 12:46:32 +01:00
Stephane Delcroix 2268657174 Merge branch '3.2.0' into 3.3.0 2018-09-24 09:03:08 +02:00
jcmanke bd663038ba [Android] Fix WebView.Navigating event, make WebViewClient inheritable (#3780)
* Extracted WebViewRenderer.WebClient to FormsWebViewClient, moved SendNavigating call from ShouldOverrideUrlLoading to OnPageStarted

* Changed _webViewClient and GetWebViewClient() method to return base class

* Changed public things to protected internal
2018-09-20 10:06:39 -07:00
Stephane Delcroix 02096e1a04 [A] do not draw gradient for empty CornerRadius (#3786)
Drawing CornerRadius (introduce by #1998) when the CornerRadii are
actually 0 causes scaling artifacts on API < 25.

This fixes the regression when no CornerRadius is set. Expect blurry
border scaling with CornerRadius not empty and API < 25

- fixes #3781
2018-09-20 10:05:33 -07:00
Pavel Yakovlev cceee9ded6 Add TabStop/TabIndex (#2795)
* [Core, UWP, Android] support TabStop/TabIndex

* removing linq

* add iOS / MacOS implementation

* add WPF implementation
fixes UWP implementation

* - addressing comments
- improve test
- optimizations
- added previous tab direction in same tab group

* addressing comments

* [Android] support tabstop for pickers

* - moving shared code to a static class
- removed reflection

* ITabStop -> changed to internal, renamed, added in to fastRenderers

* Update ITabStop to be public
2018-09-12 21:20:46 -07:00
Rui Marinho 8ddd00a27f
[Android] Update Forms to remove API28 deprecated API (#3653) fixes #2128 fixes #3629
* [Build] Update provisioning

* [Controls] Ignore deprecated  Android API usage

* [Android] Remove use of obsolete color usage

* [Android] Remove app fragment usage

* [android] Rollback changes to EntryCellRenderer

* [Android] Better way to get the default color for the label text

* [Android] Obsolete message for ContentPage.CreateFragment()

* [ControlGallery] - create bitmap from Drawable to use for pixel location

* [Android] Use textcolor resource

* Update submodule
2018-09-12 10:12:55 +01:00
Rui Marinho ddd914b7a1
Merge branch '3.2.0' 2018-09-11 17:38:29 +01:00
Pavel Yakovlev 9f97968334 [Android, iOS] Fixes layout compression causes (#3698) fixes #3624
* [Android, iOS] Fixes layout compression causes

* [iOS] improve UpdateNewElement method

* Fix build error hopefully
2018-09-11 14:32:50 +01:00
Samantha Houts 58992d8a5d [Android] Revert bad merge (#3746)
fixes #3705
2018-09-10 10:06:25 -07:00
Sebastian Rauer b0c6d6f398 24H Mode (#3701)
The 24h mode for the pickerdialog was not working.

Version 3.1 was working fine. 

Here is an updated file.
2018-09-05 15:08:29 -07:00
E.Z. Hart d6aba7938c [Android] Support multiple clipping settings in single layout (#3559)
* Repro

* Fix for API 18+
2018-09-05 11:15:29 -07:00
Samantha Houts 7422cb8b17 Merge branch '3.2.0' 2018-08-31 14:19:27 -07:00
Samantha Houts a8260b0075 [Android,iOS,UWP] Allow Entry CursorPosition/SelectionLength to be set in ctor (#3402) fixes #3343 fixes #3633
* Add repro for #3343 + unit tests

* [Core] Disallow negative values for CursorPosition/SelectionLength

* [All] CursorPosition/SelectionLength can bindin ctor & clear value

fixes #3343

* typo

* cleanup

* [iOS] Cursor snaps to end

* try/catch
2018-08-31 18:20:30 +01:00
Shane Neuville 8f03f5ec5c [iOS, UWP] fixes #2894 - Gestures collection changes weren't correctly propagating (#3643)
* [iOS, UWP] fixes #2894 - Gestures weren't wiring up to spans in all cases

* [Core] remove ChildGestureRecognizers when spans get removed

* [iOS] removed incorrect return from null
2018-08-31 12:32:37 +01:00
Rui Marinho 4301017bf6
Merge branch '3.2.0' 2018-08-29 10:28:29 +01:00