示例#1
0
 private void SetBorder(cxPicker view)
 {
     try{
         this.Control.BorderStyle = view.HasBorder ? UITextBorderStyle.RoundedRect : UITextBorderStyle.None;
     }
     catch (System.Exception ex)
     {
         Insights.Send("SetBorder", ex);
     }
 }
示例#2
0
    void UpdateUi(cxPicker view)
    {
        try{
            if (!string.IsNullOrEmpty(view.FontFamily))
            {
                string filename = view.FontFamily;

                if (filename.LastIndexOf(".", System.StringComparison.Ordinal) != filename.Length - 4)
                {
                    filename = string.Format("{0}.ttf", filename);
                }

                Control.Typeface = TrySetFont(filename);
            }

            if (view.FontSize > 0)
            {
                Control.TextSize = (float)view.FontSize;
            }

            if (view.TextColor != Xamarin.Forms.Color.Default)
            {
                Control.SetTextColor(view.TextColor.ToAndroid());
            }

            switch (view.Alignment)
            {
            case Xamarin.Forms.TextAlignment.Center:
                Control.Gravity = GravityFlags.CenterHorizontal;
                break;

            case Xamarin.Forms.TextAlignment.End:
                Control.Gravity = GravityFlags.End;
                break;

            case Xamarin.Forms.TextAlignment.Start:
                Control.Gravity = GravityFlags.Start;
                break;
            }
        }
        catch (System.Exception ex)
        {
            Insights.Send("UpdateUi", ex);
        }
    }
示例#3
0
    private void UpdateUi(cxPicker view)
    {
        try{
            if (view.FontSize > 0)
            {
                this.Control.Font = UIFont.FromName(this.Control.Font.Name, (float)view.FontSize);
            }

            if (!string.IsNullOrEmpty(view.FontFamily))
            {
                var fontName = Path.GetFileNameWithoutExtension(view.FontFamily);

                var font = UIFont.FromName(fontName, this.Control.Font.PointSize);

                if (font != null)
                {
                    this.Control.Font = font;
                }
            }

            if (view.TextColor != Xamarin.Forms.Color.Default)
            {
                Control.TextColor = view.TextColor.ToUIColor();
            }

            switch (view.Alignment)
            {
            case TextAlignment.Center:
                Control.TextAlignment = UITextAlignment.Center;
                break;

            case TextAlignment.End:
                Control.TextAlignment = UITextAlignment.Right;
                break;

            case TextAlignment.Start:
                Control.TextAlignment = UITextAlignment.Left;
                break;
            }
        }
        catch (System.Exception ex)
        {
            Insights.Send("UpdateUi", ex);
        }
    }
示例#4
0
    private void SetView(cxPicker view)
    {
        try{
            if (view == null)
            {
                return;
            }

            if (view != null)
            {
                this.UpdateUi(view);
                this.SetBorder(view);
                LayoutSubviews();
                return;
            }
            LayoutSubviews();
        }
        catch (System.Exception ex)
        {
            Insights.Send("SetView", ex);
        }
    }
示例#5
0
        public LoginPage()
        {
            try
            {
                AbsoluteLayout peakLayout = new AbsoluteLayout
                {
                    HorizontalOptions = LayoutOptions.FillAndExpand,
                    VerticalOptions   = LayoutOptions.FillAndExpand,
                    BackgroundColor   = Color.Transparent
                };

                imgBG = new Image()
                {
                    Source = Shared.Classes.Optimizer.Image.FromFile("coffee_mug.9"),
                    Aspect = Aspect.AspectFill,
                };

                imgLogo = new Image()
                {
                    Source        = Shared.Classes.Optimizer.Image.FromFile("ic_logo"),
                    Aspect        = Aspect.AspectFit,
                    HeightRequest = 120,
                    WidthRequest  = 170
                };

                pasarPicker = new cxPicker {
                    Title             = "Pilih Pasar",
                    FontFamily        = Shared.Settings.Styles.Fonts.BaseBoldSemi,
                    Alignment         = TextAlignment.Center,
                    FontSize          = Shared.Settings.Styles.Sizes.Font.DrawerTitle,
                    HorizontalOptions = LayoutOptions.FillAndExpand,
                    VerticalOptions   = LayoutOptions.StartAndExpand,
                    TextColor         = Color.White,
                    BackgroundColor   = Color.FromHex("7fffffff"),
                };

                #region Username
                var boxImgUsername = new AbsoluteLayout
                {
                    HorizontalOptions = LayoutOptions.FillAndExpand,
                    VerticalOptions   = LayoutOptions.FillAndExpand,
                };

                var boxUsername = new BoxView()
                {
                    Color             = Color.FromHex("7fffffff"),
                    HeightRequest     = 60,
                    WidthRequest      = 60,
                    VerticalOptions   = LayoutOptions.FillAndExpand,
                    HorizontalOptions = LayoutOptions.FillAndExpand,
                };

                imgUsername = new Image()
                {
                    Source = Shared.Classes.Optimizer.Image.FromFile("username_icon"),
                    Aspect = Aspect.AspectFill
                };

                AbsoluteLayout.SetLayoutFlags(boxUsername, AbsoluteLayoutFlags.PositionProportional);
                AbsoluteLayout.SetLayoutBounds(boxUsername, new Rectangle(0, 0, AbsoluteLayout.AutoSize, AbsoluteLayout.AutoSize));
                AbsoluteLayout.SetLayoutFlags(imgUsername, AbsoluteLayoutFlags.PositionProportional);
                AbsoluteLayout.SetLayoutBounds(imgUsername, new Rectangle(0.5, 0.5, AbsoluteLayout.AutoSize, AbsoluteLayout.AutoSize));

                boxImgUsername.Children.Add(boxUsername);
                boxImgUsername.Children.Add(imgUsername);

                var boxTxtUsername = new AbsoluteLayout
                {
                    HorizontalOptions = LayoutOptions.FillAndExpand,
                    VerticalOptions   = LayoutOptions.FillAndExpand,
                };

                var BoxLabelUsername = new BoxView()
                {
                    Color             = Color.FromHex("7fffffff"),
                    HeightRequest     = 60,
                    WidthRequest      = 200,
                    VerticalOptions   = LayoutOptions.FillAndExpand,
                    HorizontalOptions = LayoutOptions.FillAndExpand,
                };

                txtUsername = new cxEntry()
                {
                    Placeholder          = "Username",
                    TextColor            = Color.Black,
                    WidthRequest         = Device.OnPlatform(175, 195, 0),
                    FontFamily           = Shared.Settings.Styles.Fonts.BaseLight,
                    PlaceholderTextColor = Color.Black,
                    FontSize             = 20,
                    MaxLength            = 30,
                };

                AbsoluteLayout.SetLayoutFlags(BoxLabelUsername, AbsoluteLayoutFlags.PositionProportional);
                AbsoluteLayout.SetLayoutBounds(BoxLabelUsername, new Rectangle(0, 0, AbsoluteLayout.AutoSize, AbsoluteLayout.AutoSize));
                AbsoluteLayout.SetLayoutFlags(txtUsername, AbsoluteLayoutFlags.PositionProportional);
                AbsoluteLayout.SetLayoutBounds(txtUsername, new Rectangle(0.5, 0.5, AbsoluteLayout.AutoSize, AbsoluteLayout.AutoSize));

                boxTxtUsername.Children.Add(BoxLabelUsername);
                boxTxtUsername.Children.Add(txtUsername);

                var UsernameLayout = new StackLayout()
                {
                    Spacing           = 4,
                    HorizontalOptions = LayoutOptions.FillAndExpand,
                    VerticalOptions   = LayoutOptions.FillAndExpand,
                    Orientation       = StackOrientation.Horizontal,
                    Children          =
                    {
                        boxImgUsername,
                        boxTxtUsername
                    }
                };
                #endregion

                #region Password
                var boxImgPassword = new AbsoluteLayout
                {
                    HorizontalOptions = LayoutOptions.FillAndExpand,
                    VerticalOptions   = LayoutOptions.FillAndExpand,
                };

                var boxPassword = new BoxView()
                {
                    Color             = Color.FromHex("7fffffff"),
                    HeightRequest     = 60,
                    WidthRequest      = 60,
                    VerticalOptions   = LayoutOptions.FillAndExpand,
                    HorizontalOptions = LayoutOptions.FillAndExpand,
                };

                imgPassword = new Image()
                {
                    Source = Shared.Classes.Optimizer.Image.FromFile("password_icon"),
                    Aspect = Aspect.AspectFill
                };

                AbsoluteLayout.SetLayoutFlags(boxPassword, AbsoluteLayoutFlags.PositionProportional);
                AbsoluteLayout.SetLayoutBounds(boxPassword, new Rectangle(0, 0, AbsoluteLayout.AutoSize, AbsoluteLayout.AutoSize));
                AbsoluteLayout.SetLayoutFlags(imgPassword, AbsoluteLayoutFlags.PositionProportional);
                AbsoluteLayout.SetLayoutBounds(imgPassword, new Rectangle(0.5, 0.5, AbsoluteLayout.AutoSize, AbsoluteLayout.AutoSize));

                boxImgPassword.Children.Add(boxPassword);
                boxImgPassword.Children.Add(imgPassword);

                var boxTxtPassword = new AbsoluteLayout
                {
                    HorizontalOptions = LayoutOptions.FillAndExpand,
                    VerticalOptions   = LayoutOptions.FillAndExpand,
                };

                var BoxLabelPassword = new BoxView()
                {
                    Color             = Color.FromHex("7fffffff"),
                    HeightRequest     = 60,
                    WidthRequest      = 200,
                    VerticalOptions   = LayoutOptions.FillAndExpand,
                    HorizontalOptions = LayoutOptions.FillAndExpand,
                };

                txtPassword = new cxEntry()
                {
                    Placeholder          = "Password",
                    TextColor            = Color.Black,
                    WidthRequest         = Device.OnPlatform(175, 195, 0),
                    IsPassword           = true,
                    FontFamily           = Shared.Settings.Styles.Fonts.BaseLight,
                    PlaceholderTextColor = Color.Black,
                    FontSize             = 20,
                    MaxLength            = 30,
                };

                AbsoluteLayout.SetLayoutFlags(BoxLabelPassword, AbsoluteLayoutFlags.PositionProportional);
                AbsoluteLayout.SetLayoutBounds(BoxLabelPassword, new Rectangle(0, 0, AbsoluteLayout.AutoSize, AbsoluteLayout.AutoSize));
                AbsoluteLayout.SetLayoutFlags(txtPassword, AbsoluteLayoutFlags.PositionProportional);
                AbsoluteLayout.SetLayoutBounds(txtPassword, new Rectangle(0.5, 0.5, AbsoluteLayout.AutoSize, AbsoluteLayout.AutoSize));

                boxTxtPassword.Children.Add(BoxLabelPassword);
                boxTxtPassword.Children.Add(txtPassword);

                var PasswordLayout = new StackLayout()
                {
                    Spacing           = 4,
                    HorizontalOptions = LayoutOptions.FillAndExpand,
                    VerticalOptions   = LayoutOptions.FillAndExpand,
                    Orientation       = StackOrientation.Horizontal,
                    Children          =
                    {
                        boxImgPassword,
                        boxTxtPassword
                    }
                };
                #endregion

                #region button
                BtnLogin = new cxButton
                {
                    Text            = "LOGIN",
                    TextColor       = Color.White,
                    FontSize        = 20,
                    FontFamily      = Shared.Settings.Styles.Fonts.Base,
                    BackgroundColor = Shared.Settings.Styles.Colors.Background.LightBlue,
                    HeightRequest   = 50,
                    WidthRequest    = 265,
                };
                #endregion

                var fields = new StackLayout()
                {
                    Spacing           = 8,
                    HorizontalOptions = LayoutOptions.FillAndExpand,
                    VerticalOptions   = LayoutOptions.FillAndExpand,
                    Children          =
                    {
                        pasarPicker,
                        UsernameLayout,
                        PasswordLayout
                    }
                };

                versionLabel = new cxLabel
                {
                    Text              = "",
                    FontSize          = Shared.Settings.Styles.Sizes.Font.Base,
                    TextColor         = Color.White,
                    FontFamily        = Shared.Settings.Styles.Fonts.BaseLight,
                    HorizontalOptions = LayoutOptions.Center,
                    VerticalOptions   = LayoutOptions.Center,
                };

                var buttons = new StackLayout()
                {
                    Spacing           = 8,
                    HorizontalOptions = LayoutOptions.FillAndExpand,
                    VerticalOptions   = LayoutOptions.FillAndExpand,
                    Children          =
                    {
                        BtnLogin,
                        versionLabel
                    }
                };

                AbsoluteLayout.SetLayoutFlags(imgBG, AbsoluteLayoutFlags.All);
                AbsoluteLayout.SetLayoutBounds(imgBG, new Rectangle(0, 0, 1f, 1f));

                AbsoluteLayout.SetLayoutFlags(imgLogo, AbsoluteLayoutFlags.PositionProportional);
                AbsoluteLayout.SetLayoutBounds(imgLogo,
                                               new Rectangle(0.5, 0.15, AbsoluteLayout.AutoSize, AbsoluteLayout.AutoSize));

                AbsoluteLayout.SetLayoutFlags(fields, AbsoluteLayoutFlags.PositionProportional);
                AbsoluteLayout.SetLayoutBounds(fields,
                                               new Rectangle(0.5, 0.55, AbsoluteLayout.AutoSize, AbsoluteLayout.AutoSize));

                AbsoluteLayout.SetLayoutFlags(buttons, AbsoluteLayoutFlags.PositionProportional);
                AbsoluteLayout.SetLayoutBounds(buttons,
                                               new Rectangle(0.5, 0.9, AbsoluteLayout.AutoSize, AbsoluteLayout.AutoSize));

                peakLayout.Children.Add(imgBG);
                peakLayout.Children.Add(imgLogo);
                peakLayout.Children.Add(fields);
                peakLayout.Children.Add(buttons);

                var MainLayout = new StackLayout {
                    BackgroundColor   = Shared.Settings.Styles.Colors.Background.Accent,
                    Spacing           = 0,
                    VerticalOptions   = LayoutOptions.FillAndExpand,
                    HorizontalOptions = LayoutOptions.FillAndExpand,
                    Children          =
                    {
                        peakLayout
                    }
                };

                Content = new StackLayout()
                {
                    BackgroundColor   = Shared.Settings.Styles.Colors.Background.LightBlue,
                    Spacing           = 0,
                    VerticalOptions   = LayoutOptions.FillAndExpand,
                    HorizontalOptions = LayoutOptions.FillAndExpand,
                    Children          =
                    {
                        peakLayout
                    }
                };

                pasarPicker.SelectedIndexChanged += (sender, e) => {
                    if (pasarPicker.SelectedIndex != -1)
                    {
                        strKdPasar = contPasar[pasarPicker.SelectedIndex].kdpasar.ToString();
                    }
                };

                txtUsername.Completed += (sender, e) => {
                    txtPassword.Focus();
                };

                txtPassword.Completed += (sender, e) => {
                    if (pasarPicker.SelectedIndex != -1)
                    {
                        Login(txtUsername.Text.Trim(), txtPassword.Text.Trim());
                    }
                    else
                    {
                        Shared.Settings.Panels.Alert.Display("Mohon pilih pasar yang akan dituju", "Pasar Tidak Ditemukan", "OK");
                    }
                };

                BtnLogin.Clicked += (sender, e) =>
                {
                    if (pasarPicker.SelectedIndex != -1)
                    {
                        Login(txtUsername.Text.Trim(), txtPassword.Text.Trim());
                    }
                    else
                    {
                        Shared.Settings.Panels.Alert.Display("Mohon pilih pasar yang akan dituju", "Pasar Tidak Ditemukan", "OK");
                    }
                };
            }
            catch (Exception ex)
            {
                Shared.Services.Logs.Insights.Send("Layout", ex);
            }
        }