using Xamarin.Forms.Platform.Tizen;
using ElmSharp;
using Button = Xamarin.Forms.Button;
+using Color = Xamarin.Forms.Color;
using EFloatingButton = ElmSharp.FloatingButton;
using EFloatingButtonPosition = ElmSharp.FloatingButtonPosition;
using TForms = Xamarin.Forms.Platform.Tizen.Forms;
public FloatingButtonImplementation()
{
- _control = new EFloatingButton(TForms.Context.MainWindow)
- {
- Mode = FloatingButtonMode.All,
- MinimumHeight = 100,
- MinimumWidth = 100,
- AlignmentY = -1,
- AlignmentX = -1,
- WeightX = 1,
- WeightY = 1,
- };
- UpdateLocation();
- TForms.Context.MainWindow.RotationChanged += (s, e) => { UpdateLocation(); };
+ _control = new EFloatingButton(TForms.Context.MainWindow);
+ TForms.Context.MainWindow.BaseLayout.SetPartContent("elm.swallow.floatingbutton", _control);
}
~FloatingButtonImplementation()
_isDisposed = true;
}
- void UpdateLocation()
- {
- var window = TForms.Context.MainWindow;
- var size = window.ScreenSize;
- if (window.Rotation == 0)
- {
- _control.Resize(size.Width, size.Height);
- var h = (int)(size.Height * 0.8);
- _control.Move(0, h);
- }
- else
- {
- _control.Resize(size.Height, size.Width);
- var h = (int)(size.Width * 0.8);
- _control.Move(0, h);
- }
- _control.Show();
- }
-
void UpdateMovablePosition()
{
if (MovablePosition == FloatingButtonMovablePosition.None)
Button button = new Button();
if (item.Icon != null)
button.Image = item.Icon;
+ button.BackgroundColor = Color.Transparent;
button.Clicked += (s, e) => { item.OnClicked(); };
EvasObject nativeView = Platform.GetOrCreateRenderer(button).NativeView;
return nativeView;