summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorSeungkeun Lee <sngn.lee@samsung.com>2017-04-07 01:16:21 (GMT)
committerSeungkeun Lee <sngn.lee@samsung.com>2017-04-07 01:21:00 (GMT)
commit155c7a47e4738c697679ae93d4368fe24326221c (patch)
tree6cc1433796f01e1fe09081397dabe45a4bf3d2c8
parente5783bd3814c5771de48d40dd537858ab3dbdb77 (diff)
downloadxamarin-forms-155c7a47e4738c697679ae93d4368fe24326221c.zip
xamarin-forms-155c7a47e4738c697679ae93d4368fe24326221c.tar.gz
xamarin-forms-155c7a47e4738c697679ae93d4368fe24326221c.tar.bz2
Fix ScrollView Content area resize issuerefs/changes/40/123740/2
- 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
-rw-r--r--Xamarin.Forms.Platform.Tizen/Renderers/LayoutRenderer.cs16
-rw-r--r--Xamarin.Forms.Platform.Tizen/Renderers/ScrollViewRenderer.cs14
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 99e422e..bf36afa 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 426ccca..76ce555 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);
}