Files
qController/qController.Standard/Classes/UI/QNavBar.cs
T
2021-03-27 16:19:11 -05:00

88 lines
2.9 KiB
C#

using qController.Helpers;
using Xamarin.Forms;
namespace qController.UI
{
public class QNavBar : Frame
{
public Label menuButton;
public Label instanceName;
public QNavBar()
{
this.SetDynamicResource(Grid.BackgroundColorProperty, "NavigationBarColor");
CornerRadius = 0;
HasShadow = false;
Padding = 0;
Margin = 0;
Grid grid = new Grid();
grid.RowSpacing = 0;
grid.ColumnSpacing = 0;
grid.Margin = 0;
grid.Padding = 0;
grid.RowDefinitions = new RowDefinitionCollection {
new RowDefinition { Height = 50 }
};
grid.ColumnDefinitions = new ColumnDefinitionCollection
{
new ColumnDefinition {Width = GridLength.Star},
new ColumnDefinition {Width = new GridLength(4,GridUnitType.Star)},
};
menuButton = new Label
{
FontFamily = (OnPlatform<string>)Application.Current.Resources["MaterialFontFamily"],
HorizontalOptions = LayoutOptions.StartAndExpand,
VerticalOptions = LayoutOptions.FillAndExpand,
HorizontalTextAlignment = TextAlignment.Start,
VerticalTextAlignment = TextAlignment.Center,
Padding = 0,
Margin = new Thickness(10, 0, 0, 0),
Text = IconConstants.Menu,
BackgroundColor = Color.Transparent
};
menuButton.SetDynamicResource(Label.TextColorProperty, "IconTextColor");
instanceName = new Label
{
HorizontalOptions = LayoutOptions.FillAndExpand,
VerticalOptions = LayoutOptions.FillAndExpand,
HorizontalTextAlignment = TextAlignment.End,
VerticalTextAlignment = TextAlignment.Center,
Margin = new Thickness(0, 0, 10, 0),
Padding = 0,
FontSize = App.HeightUnit * 3,
//BackgroundColor = Color.Blue
};
instanceName.SetDynamicResource(Label.TextColorProperty, "PrimaryTextColor");
var menuButtonGesture = new TapGestureRecognizer();
menuButtonGesture.Tapped += App.ShowMenu;
menuButton.GestureRecognizers.Add(menuButtonGesture);
switch (Device.RuntimePlatform)
{
case Device.iOS:
HeightRequest = App.HeightUnit * 6;
menuButton.FontSize = App.Height * .04;
break;
case Device.Android:
HeightRequest = App.HeightUnit * 6;
menuButton.FontSize = App.Height * .04;
break;
}
grid.Children.Add(menuButton, 0, 0);
grid.Children.Add(instanceName, 1, 0);
Content = grid;
}
}
}