private void InitPhoneLayout() { LeftPanelWidthRequest = 400; RightPanelWidthRequest = 400; LeftSwipeSize = 30; RightSwipeSize = 30; TransparentSize = new Thickness(50, 0, 50, 110); LeftPanel.BackgroundColor = MainStyles.MainBackgroundColor.FromResources <Color>(); LeftPanel.Opacity = 0.9; btnLocation = new ImageButton { HeightRequest = appBar.HeightBar, WidthRequest = appBar.HeightBar, BackgroundColor = new Color(255, 255, 255, 0), Source = contentUI.IconLocation }; btnLocation.Click += viewModel.BtnLocation_Click; mainLayout.Children.Add(btnLocation, Constraint.Constant(0), Constraint.RelativeToView(appBar, (parent, sibling) => sibling.Y - appBar.HeightBar - 10)); appBar.BtnLeft.BackgroundColor = new Color(255, 255, 255, 0); appBar.BtnLeft.Source = contentUI.IconFilter; appBar.BtnLeft.Click += viewModel.AppBar_BtnLeftPhoneClick; InitPhoneLeftPanel(); InitPhoneRightPanel(); }
public TitleBar(Page page, BarBtnEnum barBtn = BarBtnEnum.bbNone, BarAlignEnum barAlign = BarAlignEnum.baTop) { NavigationPage.SetHasNavigationBar(page, false); NavigationPage.SetHasBackButton(page, false); page.Title = ""; page.Appearing += (s, e) => { NavigationPage.SetHasNavigationBar(page, false); }; page.Disappearing += (s, e) => { NavigationPage.SetHasNavigationBar(page, false); }; if ((Device.OS == TargetPlatform.iOS) && (barAlign == BarAlignEnum.baTop)) { PaddingBar = 20; } BackgroundColor = barColor; MinimumHeightRequest = HeightBar + PaddingBar; HeightRequest = HeightBar + PaddingBar; appBar.BackgroundColor = barColor; appBar.Padding = new Thickness(0, PaddingBar, 0, 0); appBar.MinimumHeightRequest = HeightRequest; appBar.HeightRequest = HeightRequest; boxPadding.BackgroundColor = barColor; #region Title create txtTitle = new Label { VerticalOptions = LayoutOptions.CenterAndExpand, HorizontalOptions = LayoutOptions.CenterAndExpand }; AbsoluteLayout.SetLayoutFlags(txtTitle, AbsoluteLayoutFlags.PositionProportional); AbsoluteLayout.SetLayoutBounds(txtTitle, new Rectangle(0.5, 0.5, AbsoluteLayout.AutoSize, AbsoluteLayout.AutoSize) ); appBar.Children.Add(txtTitle); #endregion #region Panel for left buttons var stackLeftBtn = new StackLayout { Padding = new Thickness(0), Spacing = 0, Orientation = StackOrientation.Horizontal, HorizontalOptions = LayoutOptions.Start }; SetLayoutFlags(stackLeftBtn, AbsoluteLayoutFlags.PositionProportional); SetLayoutBounds(stackLeftBtn, new Rectangle(0, 0.5, AbsoluteLayout.AutoSize, AbsoluteLayout.AutoSize)); appBar.Children.Add(stackLeftBtn); #endregion #region Panel for right buttons var stackRightBtn = new StackLayout { Padding = new Thickness(0), Spacing = 0, Orientation = StackOrientation.Horizontal, HorizontalOptions = LayoutOptions.End }; AbsoluteLayout.SetLayoutFlags(stackRightBtn, AbsoluteLayoutFlags.PositionProportional); AbsoluteLayout.SetLayoutBounds(stackRightBtn, new Rectangle(1, 0.5, AbsoluteLayout.AutoSize, AbsoluteLayout.AutoSize)); appBar.Children.Add(stackRightBtn); #endregion #region Back button BtnBack = new BackImageButton(page); BtnBack.WidthRequest = HeightBar; BtnBack.HeightRequest = HeightBar; if ((barBtn & BarBtnEnum.bbBack) != 0) { stackLeftBtn.Children.Add(BtnBack); } #endregion #region LeftLeft button BtnLeftLeft = new ImageButton(); BtnLeftLeft.WidthRequest = HeightBar; BtnLeftLeft.HeightRequest = HeightBar; if ((barBtn & BarBtnEnum.bbLeftLeft) != 0) { stackLeftBtn.Children.Add(BtnLeftLeft); } #endregion #region Left button BtnLeft = new ImageButton(); BtnLeft.WidthRequest = HeightBar; BtnLeft.HeightRequest = HeightBar; if (((barBtn & BarBtnEnum.bbLeft) != 0) || ((barBtn & BarBtnEnum.bbLeftLeft) != 0)) { stackLeftBtn.Children.Add(BtnLeft); } #endregion #region Right button BtnRight = new ImageButton(); BtnRight.WidthRequest = HeightBar; BtnRight.HeightRequest = HeightBar; if (((barBtn & BarBtnEnum.bbRight) != 0) || ((barBtn & BarBtnEnum.bbRightRight) != 0)) { stackRightBtn.Children.Add(BtnRight); } #endregion #region RightRight button BtnRightRight = new ImageButton(); BtnRightRight.WidthRequest = HeightBar; BtnRightRight.HeightRequest = HeightBar; if ((barBtn & BarBtnEnum.bbRightRight) != 0) { stackRightBtn.Children.Add(BtnRightRight); } #endregion AbsoluteLayout.SetLayoutFlags(appBar, AbsoluteLayoutFlags.All); AbsoluteLayout.SetLayoutBounds(appBar, new Rectangle(0f, 0f, 1f, 1f)); Children.Add(appBar); if ((Device.OS == TargetPlatform.iOS) && (barAlign == BarAlignEnum.baTop)) { AbsoluteLayout.SetLayoutFlags(boxPadding, AbsoluteLayoutFlags.PositionProportional); AbsoluteLayout.SetLayoutBounds(boxPadding, new Rectangle(0, 0, 600, PaddingBar)); Children.Add(boxPadding); } }