summaryrefslogtreecommitdiff
path: root/Xamarin.Forms.Platform.Tizen/Native
diff options
context:
space:
mode:
authorPiotr Bereza <p.bereza@samsung.com>2017-03-22 16:45:27 +0100
committerKangho Hur <kangho.hur@samsung.com>2017-10-23 13:34:34 +0900
commitb89efb8799ff57e062edb7555170f3471c10080e (patch)
treecd4d7dfb5aaa9f0488acc09a3f3b7a90479b2466 /Xamarin.Forms.Platform.Tizen/Native
parent5946956534fec580f5dc96116679046adbc7b893 (diff)
downloadxamarin-forms-b89efb8799ff57e062edb7555170f3471c10080e.tar.gz
xamarin-forms-b89efb8799ff57e062edb7555170f3471c10080e.tar.bz2
xamarin-forms-b89efb8799ff57e062edb7555170f3471c10080e.zip
New way of layout
Change-Id: I827d199fdc9be0f62a2a149ed2bd943c5ab76056 Signed-off-by: Piotr Bereza <p.bereza@samsung.com>
Diffstat (limited to 'Xamarin.Forms.Platform.Tizen/Native')
-rw-r--r--Xamarin.Forms.Platform.Tizen/Native/Box.cs20
-rw-r--r--Xamarin.Forms.Platform.Tizen/Native/LayoutEventArgs.cs11
-rw-r--r--Xamarin.Forms.Platform.Tizen/Native/ListView.cs2
-rw-r--r--Xamarin.Forms.Platform.Tizen/Native/SearchBar.cs33
4 files changed, 27 insertions, 39 deletions
diff --git a/Xamarin.Forms.Platform.Tizen/Native/Box.cs b/Xamarin.Forms.Platform.Tizen/Native/Box.cs
index 2f551902..e2550e1a 100644
--- a/Xamarin.Forms.Platform.Tizen/Native/Box.cs
+++ b/Xamarin.Forms.Platform.Tizen/Native/Box.cs
@@ -40,24 +40,24 @@ namespace Xamarin.Forms.Platform.Tizen.Native
/// </remarks>
void NotifyOnLayout()
{
- var g = Geometry;
-
- if (0 == g.Width || 0 == g.Height)
- {
- // ignore irrelevant dimensions
- return;
- }
if (null != LayoutUpdated)
{
+ var g = Geometry;
+
+ if (0 == g.Width || 0 == g.Height || g == _previousGeometry)
+ {
+ // ignore irrelevant dimensions
+ return;
+ }
+
LayoutUpdated(this, new LayoutEventArgs()
{
- HasChanged = g != _previousGeometry,
Geometry = g,
}
);
- }
- _previousGeometry = g;
+ _previousGeometry = g;
+ }
}
}
}
diff --git a/Xamarin.Forms.Platform.Tizen/Native/LayoutEventArgs.cs b/Xamarin.Forms.Platform.Tizen/Native/LayoutEventArgs.cs
index 060a1212..ddad8039 100644
--- a/Xamarin.Forms.Platform.Tizen/Native/LayoutEventArgs.cs
+++ b/Xamarin.Forms.Platform.Tizen/Native/LayoutEventArgs.cs
@@ -9,21 +9,12 @@ namespace Xamarin.Forms.Platform.Tizen.Native
public class LayoutEventArgs : EventArgs
{
/// <summary>
- /// Whether or not the dimensions have changed.
- /// </summary>
- public bool HasChanged
- {
- get;
- internal set;
- }
-
- /// <summary>
/// Geometry of the layout area, absolute coordinate
/// </summary>
public Rect Geometry
{
get;
- set;
+ internal set;
}
}
}
diff --git a/Xamarin.Forms.Platform.Tizen/Native/ListView.cs b/Xamarin.Forms.Platform.Tizen/Native/ListView.cs
index fed99101..8501df10 100644
--- a/Xamarin.Forms.Platform.Tizen/Native/ListView.cs
+++ b/Xamarin.Forms.Platform.Tizen/Native/ListView.cs
@@ -595,6 +595,8 @@ namespace Xamarin.Forms.Platform.Tizen.Native
renderer.NativeView.MinimumHeight = Forms.ConvertToScaledPixel(element.MinimumHeightRequest);
}
+ (renderer as LayoutRenderer)?.RegisterOnLayoutUpdated();
+
return renderer.NativeView;
}
};
diff --git a/Xamarin.Forms.Platform.Tizen/Native/SearchBar.cs b/Xamarin.Forms.Platform.Tizen/Native/SearchBar.cs
index db597ed9..42ada16e 100644
--- a/Xamarin.Forms.Platform.Tizen/Native/SearchBar.cs
+++ b/Xamarin.Forms.Platform.Tizen/Native/SearchBar.cs
@@ -399,25 +399,20 @@ namespace Xamarin.Forms.Platform.Tizen.Native
/// <param name="e">Event arguments.</param>
void SearchBarLayoutUpdated(object sender, LayoutEventArgs e)
{
- if (!e.HasChanged)
- {
- return;
- }
-
- _underlineRectangle.Geometry = new ERect(Geometry.Left + RectanglePaddingHorizontal,
- Geometry.Top + EntryPaddingVertical + EntryHeight + RectanglePaddingTop,
- Geometry.Width - (RectanglePaddingHorizontal * 2),
- RectangleHeight);
-
- _entry.Geometry = new ERect(Geometry.Left + EntryPaddingHorizontal,
- Geometry.Top + EntryPaddingVertical,
- Geometry.Width - (EntryPaddingHorizontal + (CancelButtonPaddingHorizontal * 2) + CancelButtonSize),
- EntryHeight);
-
- _cancelButton.Geometry = new ERect(Geometry.Right - CancelButtonSize - CancelButtonPaddingHorizontal,
- Geometry.Top + RectanglePaddingBottom,
- CancelButtonSize,
- CancelButtonSize);
+ _underlineRectangle.Geometry = new ERect(e.Geometry.Left + RectanglePaddingHorizontal,
+ e.Geometry.Top + EntryPaddingVertical + EntryHeight + RectanglePaddingTop,
+ e.Geometry.Width - (RectanglePaddingHorizontal * 2),
+ RectangleHeight);
+
+ _entry.Geometry = new ERect(e.Geometry.Left + EntryPaddingHorizontal,
+ e.Geometry.Top + EntryPaddingVertical,
+ e.Geometry.Width - (EntryPaddingHorizontal + (CancelButtonPaddingHorizontal * 2) + CancelButtonSize),
+ EntryHeight);
+
+ _cancelButton.Geometry = new ERect(e.Geometry.Right - CancelButtonSize - CancelButtonPaddingHorizontal,
+ e.Geometry.Top + RectanglePaddingBottom,
+ CancelButtonSize,
+ CancelButtonSize);
}
}
}