diff options
author | Seungkeun Lee <sngn.lee@samsung.com> | 2017-04-07 10:16:21 +0900 |
---|---|---|
committer | Kangho Hur <kangho.hur@samsung.com> | 2017-04-24 13:39:48 +0900 |
commit | bf66454943b189012686630896c0a18099a6ea86 (patch) | |
tree | 5be8154f8c1c3a361c7eb9f2232e595594251b0b /Xamarin.Forms.Platform.Tizen | |
parent | e996acdb9e246d68391322a572eb031f49dd8f02 (diff) | |
download | xamarin-forms-bf66454943b189012686630896c0a18099a6ea86.tar.gz xamarin-forms-bf66454943b189012686630896c0a18099a6ea86.tar.bz2 xamarin-forms-bf66454943b189012686630896c0a18099a6ea86.zip |
Fix ScrollView Content area resize issue
- When content of ScrollView was resized as smaller
Scroll area was not adjust to fit the contents
- It is a issue of data synchronization (ContentSize and Content.Height / Content.Width)
- It was fixed, EFL scroller areas only resize from ContentSize changed callback
- It is related with ScrollViewTest4, ScrollViewTest6
Change-Id: I2fed14bc106085dd1eaf83d877484a776fe21c24
Diffstat (limited to 'Xamarin.Forms.Platform.Tizen')
-rw-r--r-- | Xamarin.Forms.Platform.Tizen/Renderers/LayoutRenderer.cs | 16 | ||||
-rw-r--r-- | Xamarin.Forms.Platform.Tizen/Renderers/ScrollViewRenderer.cs | 14 |
2 files changed, 14 insertions, 16 deletions
diff --git a/Xamarin.Forms.Platform.Tizen/Renderers/LayoutRenderer.cs b/Xamarin.Forms.Platform.Tizen/Renderers/LayoutRenderer.cs index 99e422e9..bf36afa4 100644 --- a/Xamarin.Forms.Platform.Tizen/Renderers/LayoutRenderer.cs +++ b/Xamarin.Forms.Platform.Tizen/Renderers/LayoutRenderer.cs @@ -14,22 +14,6 @@ namespace Xamarin.Forms.Platform.Tizen { } - protected override void UpdateLayout() - { - // in case of layouts we need to make sure that the minimum size of the native control is updated - // this is important in case of ScrollView, when it's content is likely to be wider/higher than the window - // EFL does not allow control to be larger than the window if it's minimum size is smaller than window dimensions - ScrollView scrollView = Element.Parent as ScrollView; - if (scrollView != null) - { - Size size = scrollView.ContentSize; - Control.MinimumWidth = Forms.ConvertToScaledPixel(Math.Max(size.Width, scrollView.Content.Width)); - Control.MinimumHeight = Forms.ConvertToScaledPixel(Math.Max(size.Height, scrollView.Content.Height)); - } - - base.UpdateLayout(); - } - protected override void OnElementChanged(ElementChangedEventArgs<Layout> e) { if (null == Control) diff --git a/Xamarin.Forms.Platform.Tizen/Renderers/ScrollViewRenderer.cs b/Xamarin.Forms.Platform.Tizen/Renderers/ScrollViewRenderer.cs index 426cccaf..76ce555e 100644 --- a/Xamarin.Forms.Platform.Tizen/Renderers/ScrollViewRenderer.cs +++ b/Xamarin.Forms.Platform.Tizen/Renderers/ScrollViewRenderer.cs @@ -70,6 +70,7 @@ namespace Xamarin.Forms.Platform.Tizen if (_content != null) { Control.SetContent(_content, true); + UpdateContentSize(); } } @@ -100,6 +101,15 @@ namespace Xamarin.Forms.Platform.Tizen } } + void UpdateContentSize() + { + if (_content == null) + return; + + _content.MinimumWidth = Forms.ConvertToScaledPixel(Element.ContentSize.Width); + _content.MinimumHeight = Forms.ConvertToScaledPixel(Element.ContentSize.Height); + } + /// <summary> /// An event raised on element's property change. /// </summary> @@ -111,6 +121,10 @@ namespace Xamarin.Forms.Platform.Tizen { UpdateOrientation(); } + else if (ScrollView.ContentSizeProperty.PropertyName == e.PropertyName) + { + UpdateContentSize(); + } base.OnElementPropertyChanged(sender, e); } |