public void SetFontSettings(IControl <View> control, TextView view, float height) { using (Typeface font = Font(control)) { if (font != null) { view.SetTypeface(font, TypefaceStyle.Normal); view.SetTextSize(ComplexUnitType.Px, FontSize(control, height)); } } }
Android.Graphics.Paint.FontMetrics FontMetrics(string fontFamily, double fontSize, FontAttributes fontAttributes) { var typeface = FontManagment.TypefaceForFontFamily(fontFamily); var label = new Android.Widget.TextView(Settings.Context); Android.Graphics.TypefaceStyle style = Android.Graphics.TypefaceStyle.Normal; if (fontAttributes == FontAttributes.Bold) style = Android.Graphics.TypefaceStyle.Bold; else if (fontAttributes == FontAttributes.Italic) style = Android.Graphics.TypefaceStyle.Italic; else if (fontAttributes != FontAttributes.None) style = Android.Graphics.TypefaceStyle.BoldItalic; label.SetTypeface(typeface, style); var fontMetrics = label.Paint.GetFontMetrics(); return fontMetrics; }
#pragma warning disable IDE0060 // Remove unused parameter Android.Graphics.Paint.FontMetrics FontMetrics(string fontFamily, double fontSize, FontAttributes fontAttributes) #pragma warning restore IDE0060 // Remove unused parameter { using (var typeface = FontManagment.TypefaceForFontFamily(fontFamily)) using (var label = new Android.Widget.TextView(Settings.Context)) { Android.Graphics.TypefaceStyle style = Android.Graphics.TypefaceStyle.Normal; if (fontAttributes == FontAttributes.Bold) { style = Android.Graphics.TypefaceStyle.Bold; } else if (fontAttributes == FontAttributes.Italic) { style = Android.Graphics.TypefaceStyle.Italic; } else if (fontAttributes != FontAttributes.None) { style = Android.Graphics.TypefaceStyle.BoldItalic; } label.SetTypeface(typeface, style); var fontMetrics = label.Paint.GetFontMetrics(); return(fontMetrics); } }
//functions public void BuildPageObjects() { var btnSize = Device.GetNamedSize(NamedSize.Large, typeof(Button)); var lblSize = Device.GetNamedSize(NamedSize.Large, typeof(Label)); //View Objects innerGrid = new Grid { RowDefinitions = new RowDefinitionCollection { new RowDefinition { Height = new GridLength(1, GridUnitType.Star) }, new RowDefinition { Height = new GridLength(7, GridUnitType.Star) }, new RowDefinition { Height = new GridLength(1, GridUnitType.Star) } } }; outerGrid = new Grid { RowDefinitions = new RowDefinitionCollection { new RowDefinition { Height = new GridLength(1, GridUnitType.Star) } } }; viewBlogLbl = new Label { #if __IOS__ FontFamily = "AmericanTypewriter-Bold", FontSize = lblSize * 1.5, #endif #if __ANDROID__ FontFamily = "Roboto Bold", FontSize = lblSize, Margin = -5, #endif Text = "Mahecha BJJ Blog", VerticalTextAlignment = TextAlignment.Center, HorizontalTextAlignment = TextAlignment.Center }; blogListView = new ListView { HasUnevenRows = true, SeparatorVisibility = SeparatorVisibility.None, BackgroundColor = Color.FromHex("#F1ECCE") }; backBtn = new Button { Image = "back.png", Style = (Style)Application.Current.Resources["common-red-btn"] }; timeOutLbl = new Label { #if __IOS__ FontFamily = "AmericanTypewriter-Bold", #endif #if __ANDROID__ FontFamily = "Roboto Bold", #endif Text = "Network Has Timed Out! \n Click To Try Again!", LineBreakMode = LineBreakMode.WordWrap, FontSize = lblSize, VerticalTextAlignment = TextAlignment.Center, HorizontalTextAlignment = TextAlignment.Center, HorizontalOptions = LayoutOptions.CenterAndExpand, VerticalOptions = LayoutOptions.CenterAndExpand, TextColor = Color.White }; timeOutFrame = new Frame { Content = timeOutLbl, BorderColor = Color.Black, BackgroundColor = Color.Black, HasShadow = false, Padding = 3, HorizontalOptions = LayoutOptions.CenterAndExpand, VerticalOptions = LayoutOptions.CenterAndExpand }; timeOutTap = new TapGestureRecognizer(); timeOutTap.Tapped += (sender, e) => { SetContent(); }; timeOutLbl.GestureRecognizers.Add(timeOutTap); activityIndicator = new ActivityIndicator { Style = (Style)Application.Current.Resources["common-activity-indicator"] }; #if __ANDROID__ androidViewBlogLbl = new Android.Widget.TextView(MainApplication.ActivityContext); androidViewBlogLbl.Text = "Mahecha BJJ Blog"; androidViewBlogLbl.Typeface = Constants.COMMONFONT; androidViewBlogLbl.SetTextSize(Android.Util.ComplexUnitType.Fraction, 100); androidViewBlogLbl.SetTextColor(Android.Graphics.Color.Black); androidViewBlogLbl.Gravity = Android.Views.GravityFlags.Center; androidViewBlogLbl.SetTypeface(androidViewBlogLbl.Typeface, Android.Graphics.TypefaceStyle.Bold); #endif //Events backBtn.Clicked += GoBack; #if __ANDROID__ blogListView.ItemSelected += async(object sender, SelectedItemChangedEventArgs e) => { if (isPressed) { return; } else { isPressed = true; blogListView.IsEnabled = false; await LoadBlogpost(sender, e); } isPressed = false; blogListView.IsEnabled = true; }; #endif #if __IOS__ blogListView.ItemSelected += async(object sender, SelectedItemChangedEventArgs e) => { await LoadBlogpost(sender, e); }; #endif outerGrid.Children.Add(innerGrid, 0, 0); Content = outerGrid; }
//Functions public void SetContent(Video video, PlayList playlist) { var lblSize = Device.GetNamedSize(NamedSize.Large, typeof(Label)); var btnSize = Device.GetNamedSize(NamedSize.Large, typeof(Button)); //view objects #if __IOS__ innerGrid = new Grid { RowDefinitions = new RowDefinitionCollection { new RowDefinition { Height = new GridLength(4, GridUnitType.Star) }, new RowDefinition { Height = new GridLength(1, GridUnitType.Star) }, new RowDefinition { Height = new GridLength(4, GridUnitType.Star) }, new RowDefinition { Height = new GridLength(1, GridUnitType.Star) } }, ColumnDefinitions = new ColumnDefinitionCollection { new ColumnDefinition { Width = new GridLength(1, GridUnitType.Star) }, new ColumnDefinition { Width = new GridLength(1, GridUnitType.Star) }, new ColumnDefinition { Width = new GridLength(1, GridUnitType.Star) }, new ColumnDefinition { Width = new GridLength(1, GridUnitType.Star) } } }; #endif #if __ANDROID__ innerGrid = new Grid { RowDefinitions = new RowDefinitionCollection { new RowDefinition { Height = new GridLength(4, GridUnitType.Star) }, new RowDefinition { Height = new GridLength(1, GridUnitType.Star) }, new RowDefinition { Height = new GridLength(5, GridUnitType.Star) } } }; buttonGrid = new Grid { ColumnDefinitions = new ColumnDefinitionCollection { new ColumnDefinition { Width = new GridLength(1, GridUnitType.Star) }, new ColumnDefinition { Width = new GridLength(1, GridUnitType.Star) }, new ColumnDefinition { Width = new GridLength(1, GridUnitType.Star) } } }; #endif outerGrid = new Grid { RowDefinitions = new RowDefinitionCollection { new RowDefinition { Height = new GridLength(1, GridUnitType.Star) } } }; #if __ANDROID__ var pd = new PaintDrawable(Android.Graphics.Color.Rgb(58, 93, 174)); pd.SetCornerRadius(100); var pdRed = new PaintDrawable(Android.Graphics.Color.Red); pdRed.SetCornerRadius(100); androidVideoNameLbl = new Android.Widget.TextView(MainApplication.ActivityContext); androidVideoNameLbl.Text = video.Name; androidVideoNameLbl.Typeface = Constants.COMMONFONT; androidVideoNameLbl.SetTextSize(Android.Util.ComplexUnitType.Fraction, 100); androidVideoNameLbl.SetTextColor(Android.Graphics.Color.AntiqueWhite); androidVideoNameLbl.Gravity = Android.Views.GravityFlags.Center; androidVideoNameLbl.SetTypeface(androidVideoNameLbl.Typeface, Android.Graphics.TypefaceStyle.Bold); androidVideoDescriptionLbl = new Android.Widget.TextView(MainApplication.ActivityContext); androidVideoDescriptionLbl.Text = video.Description; androidVideoDescriptionLbl.Typeface = Constants.COMMONFONT; androidVideoDescriptionLbl.SetTextSize(Android.Util.ComplexUnitType.Fraction, 50); androidVideoDescriptionLbl.SetTextColor(Android.Graphics.Color.Black); androidVideoDescriptionLbl.Gravity = Android.Views.GravityFlags.Start; androidPlayImgBtn = new Android.Widget.ImageButton(MainApplication.ActivityContext); androidPlayImgBtn.SetAdjustViewBounds(true); androidPlayImgBtn.SetImageResource(2130837817); androidPlayImgBtn.SetBackground(pd); androidPlayImgBtn.Click += async(object sender, EventArgs e) => { ToggleButtons(); await PlayAndroidVideo(sender, e); ToggleButtons(); }; androidImgDeleteBtn = new Android.Widget.ImageButton(MainApplication.ActivityContext); androidImgDeleteBtn.SetAdjustViewBounds(true); androidImgDeleteBtn.SetImageResource(2130837823); androidImgDeleteBtn.SetBackground(pdRed); androidImgDeleteBtn.Click += async(object sender, EventArgs e) => { ToggleButtons(); await DeleteFromPlaylist(sender, e); ToggleButtons(); }; androidQualityBtn = new Android.Widget.Button(MainApplication.ActivityContext); androidQualityBtn.Text = "SD"; androidQualityBtn.Typeface = Constants.COMMONFONT; androidQualityBtn.SetAutoSizeTextTypeWithDefaults(Android.Widget.AutoSizeTextType.Uniform); androidQualityBtn.SetTextColor(Android.Graphics.Color.Rgb(242, 253, 255)); androidQualityBtn.SetBackground(pd); androidQualityBtn.Gravity = Android.Views.GravityFlags.Center; androidQualityBtn.SetAllCaps(false); androidQualityBtn.Click += async(object sender, EventArgs e) => { ToggleButtons(); await ChangeVideoQuality(sender, e); ToggleButtons(); }; contentViewNameLbl = new ContentView(); contentViewNameLbl.Content = androidVideoNameLbl.ToView(); contentViewDescriptionLbl = new ContentView(); contentViewDescriptionLbl.Content = androidVideoDescriptionLbl.ToView(); contentViewPlayBtn = new ContentView(); contentViewPlayBtn.Content = androidPlayImgBtn.ToView(); contentViewDeleteBtn = new ContentView(); contentViewDeleteBtn.Content = androidImgDeleteBtn.ToView(); contentViewQualityBtn = new ContentView(); contentViewQualityBtn.Content = androidQualityBtn.ToView(); #endif backBtn = new Button { Style = (Style)Application.Current.Resources["common-red-btn"], Image = "back.png" }; videoNameLbl = new Label { Text = video.Name, FontFamily = "AmericanTypewriter-Bold", FontSize = lblSize, VerticalTextAlignment = TextAlignment.Center, HorizontalTextAlignment = TextAlignment.Center, TextColor = Color.White }; videoDescription = new Label { Text = video.Description, FontFamily = "AmericanTypewriter-Bold", VerticalTextAlignment = TextAlignment.Start, HorizontalTextAlignment = TextAlignment.Start, FontSize = Device.GetNamedSize(NamedSize.Small, typeof(Label)), LineBreakMode = LineBreakMode.WordWrap, }; videoDescriptionScrollView = new ScrollView { Padding = 0, Orientation = ScrollOrientation.Vertical, #if __ANDROID__ Content = contentViewDescriptionLbl, IsClippedToBounds = true #endif #if __IOS__ Content = videoDescription, #endif }; videoImage = new Image { Source = video.Image, Aspect = Aspect.AspectFill }; videoFrame = new Frame { Content = videoImage, BorderColor = Color.Black, BackgroundColor = Color.Black, HasShadow = false, Padding = 3 }; playBtn = new Button { Style = (Style)Application.Current.Resources["common-blue-btn"], Image = "play.png" }; deleteBtn = new Button { Style = (Style)Application.Current.Resources["common-delete-btn"] }; qualityBtn = new Button { Style = (Style)Application.Current.Resources["common-blue-btn"], Text = "SD", FontFamily = "AmericanTypewriter-Bold", FontSize = btnSize * 2, }; //Events backBtn.Clicked += async(object sender, EventArgs e) => { ToggleButtons(); await Navigation.PopModalAsync(); ToggleButtons(); }; deleteBtn.Clicked += async(object sender, EventArgs e) => { ToggleButtons(); await DeleteFromPlaylist(sender, e); ToggleButtons(); }; qualityBtn.Clicked += async(object sender, EventArgs e) => { ToggleButtons(); await ChangeVideoQuality(sender, e); ToggleButtons(); }; #if __IOS__ playBtn.Clicked += PlayIOSVideo; #endif #if __ANDROID__ //building grid buttonGrid.Children.Add(contentViewPlayBtn, 0, 0); buttonGrid.Children.Add(contentViewDeleteBtn, 1, 0); buttonGrid.Children.Add(contentViewQualityBtn, 2, 0); innerGrid.Children.Add(videoFrame, 0, 0); innerGrid.Children.Add(contentViewNameLbl, 0, 0); innerGrid.Children.Add(buttonGrid, 0, 1); //XAMARIN BUG - ADDING SCROLLVIEW BEFORE OTHER ELEMENTS WILL CAUSE CONTENTS TO OVERFLOW.. ADD TO END OF LAYOUT.. innerGrid.Children.Add(videoDescriptionScrollView, 0, 2); #endif #if __IOS__ //building grid innerGrid.Children.Add(videoFrame, 0, 0); Grid.SetColumnSpan(videoFrame, 4); innerGrid.Children.Add(videoNameLbl, 0, 0); Grid.SetColumnSpan(videoNameLbl, 4); innerGrid.Children.Add(playBtn, 0, 1); Grid.SetColumnSpan(playBtn, 3); innerGrid.Children.Add(qualityBtn, 3, 1); innerGrid.Children.Add(videoDescriptionScrollView, 0, 2); Grid.SetColumnSpan(videoDescriptionScrollView, 4); innerGrid.Children.Add(deleteBtn, 3, 3); innerGrid.Children.Add(backBtn, 0, 3); Grid.SetColumnSpan(backBtn, 3); #endif outerGrid.Children.Add(innerGrid, 0, 0); Content = outerGrid; }
private void BuildPageObjects() { var lblSize = Device.GetNamedSize(NamedSize.Large, typeof(Label)); var btnSize = Device.GetNamedSize(NamedSize.Large, typeof(Button)); innerGrid = new Grid { RowDefinitions = new RowDefinitionCollection { new RowDefinition { Height = new GridLength(1, GridUnitType.Star) }, new RowDefinition { Height = new GridLength(2, GridUnitType.Star) }, new RowDefinition { Height = new GridLength(1, GridUnitType.Star) }, new RowDefinition { Height = new GridLength(1, GridUnitType.Star) }, new RowDefinition { Height = new GridLength(1, GridUnitType.Star) }, new RowDefinition { Height = new GridLength(1, GridUnitType.Star) } }, ColumnDefinitions = new ColumnDefinitionCollection { new ColumnDefinition { Width = new GridLength(1, GridUnitType.Star) }, new ColumnDefinition { Width = new GridLength(1, GridUnitType.Star) } } }; outerGrid = new Grid { RowDefinitions = new RowDefinitionCollection { new RowDefinition { Height = new GridLength(1, GridUnitType.Star) } } }; #if __ANDROID__ var pd = new PaintDrawable(Android.Graphics.Color.Rgb(58, 93, 174)); pd.SetCornerRadius(100); androidVideo1Lbl = new Android.Widget.TextView(MainApplication.ActivityContext); androidVideo1Lbl.Text = "Spider Guard Stuff!"; androidVideo1Lbl.Typeface = Constants.COMMONFONT; androidVideo1Lbl.SetTextSize(Android.Util.ComplexUnitType.Fraction, 75); androidVideo1Lbl.SetTextColor(Android.Graphics.Color.Rgb(241, 236, 206)); androidVideo1Lbl.Gravity = Android.Views.GravityFlags.Center; androidVideo1Lbl.Click += async(object sender, EventArgs e) => { ToggleButtons(); VideoData video = VimeoInfo.data[0]; await Navigation.PushModalAsync(new VideoDetailPage(video)); ToggleButtons(); }; androidVideo1Lbl.SetTypeface(androidVideo1Lbl.Typeface, Android.Graphics.TypefaceStyle.Bold); contentViewVideo1Lbl = new ContentView(); contentViewVideo1Lbl.Content = androidVideo1Lbl.ToView(); androidVideo2Lbl = new Android.Widget.TextView(MainApplication.ActivityContext); androidVideo2Lbl.Text = "Spider Guard Stuff!"; androidVideo2Lbl.Typeface = Constants.COMMONFONT; androidVideo2Lbl.SetTextSize(Android.Util.ComplexUnitType.Fraction, 75); androidVideo2Lbl.SetTextColor(Android.Graphics.Color.Rgb(241, 236, 206)); androidVideo2Lbl.Gravity = Android.Views.GravityFlags.Center; androidVideo2Lbl.Click += async(object sender, EventArgs e) => { ToggleButtons(); VideoData video = VimeoInfo.data[1]; await Navigation.PushModalAsync(new VideoDetailPage(video)); ToggleButtons(); }; androidVideo2Lbl.SetTypeface(androidVideo2Lbl.Typeface, Android.Graphics.TypefaceStyle.Bold); contentViewVideo2Lbl = new ContentView(); contentViewVideo2Lbl.Content = androidVideo2Lbl.ToView(); androidWhatsNewLbl = new Android.Widget.TextView(MainApplication.ActivityContext); androidWhatsNewLbl.Text = "What's New"; androidWhatsNewLbl.Typeface = Constants.COMMONFONT; androidWhatsNewLbl.SetAutoSizeTextTypeWithDefaults(Android.Widget.AutoSizeTextType.Uniform); androidWhatsNewLbl.SetTextColor(Android.Graphics.Color.Black); androidWhatsNewLbl.Gravity = Android.Views.GravityFlags.Center; contenViewWhatsNewLbl = new ContentView(); contenViewWhatsNewLbl.Content = androidWhatsNewLbl.ToView(); androidPlayListLbl = new Android.Widget.TextView(MainApplication.ActivityContext); androidPlayListLbl.Text = "Playlists"; androidPlayListLbl.Typeface = Constants.COMMONFONT; androidPlayListLbl.SetAutoSizeTextTypeWithDefaults(Android.Widget.AutoSizeTextType.Uniform); androidPlayListLbl.SetTextColor(Android.Graphics.Color.Black); androidPlayListLbl.Gravity = Android.Views.GravityFlags.Center; contentViewPlayListLbl = new ContentView(); contentViewPlayListLbl.Content = androidPlayListLbl.ToView(); androidAddPlaylistBtn = new Android.Widget.Button(MainApplication.ActivityContext); androidAddPlaylistBtn.Text = "Create"; androidAddPlaylistBtn.Typeface = Constants.COMMONFONT; androidAddPlaylistBtn.SetAutoSizeTextTypeWithDefaults(Android.Widget.AutoSizeTextType.Uniform); androidAddPlaylistBtn.SetBackground(pd); androidAddPlaylistBtn.SetTextColor(Android.Graphics.Color.Rgb(242, 253, 255)); androidAddPlaylistBtn.Gravity = Android.Views.GravityFlags.Center; androidAddPlaylistBtn.SetAllCaps(false); androidAddPlaylistBtn.Click += async(object sender, EventArgs e) => { ToggleButtons(); await Navigation.PushModalAsync(new PlaylistCreatePage()); ToggleButtons(); }; androidViewPlaylistBtn = new Android.Widget.Button(MainApplication.ActivityContext); androidViewPlaylistBtn.Text = "View"; androidViewPlaylistBtn.Typeface = Constants.COMMONFONT; androidViewPlaylistBtn.SetAutoSizeTextTypeWithDefaults(Android.Widget.AutoSizeTextType.Uniform); androidViewPlaylistBtn.SetBackground(pd); androidViewPlaylistBtn.SetTextColor(Android.Graphics.Color.Rgb(242, 253, 255)); androidViewPlaylistBtn.Gravity = Android.Views.GravityFlags.Center; androidViewPlaylistBtn.SetAllCaps(false); androidViewPlaylistBtn.Click += async(object sender, EventArgs e) => { ToggleButtons(); await Navigation.PushModalAsync(new PlaylistViewPage()); ToggleButtons(); }; #endif whatsNewLbl = new Label { Text = "What's New", #if __IOS__ FontFamily = "AmericanTypewriter-Bold", FontSize = lblSize * 2, #endif #if __ANDROID__ FontFamily = "Roboto Bold", FontSize = lblSize, #endif VerticalTextAlignment = TextAlignment.End, HorizontalTextAlignment = TextAlignment.Center }; video1Image = new Image { Aspect = Aspect.AspectFill }; video1Frame = new Frame { Content = video1Image, BorderColor = Color.Black, BackgroundColor = Color.Black, HasShadow = false, Padding = 3 }; video1Lbl = new Label { #if __IOS__ FontFamily = "AmericanTypewriter-Bold", FontSize = lblSize, #endif #if __ANDROID__ FontFamily = "Roboto Bold", FontSize = lblSize * .75, #endif Text = "Spider Guard Stuff!", Style = (Style)Application.Current.Resources["common-technique-lbl"] }; video1Tap = new TapGestureRecognizer(); video1Tap.Tapped += async(sender, e) => { ToggleButtons(); VideoData video = VimeoInfo.data[0]; await Navigation.PushModalAsync(new VideoDetailPage(video)); ToggleButtons(); }; video1Lbl.GestureRecognizers.Add(video1Tap); video2Image = new Image { Aspect = Aspect.AspectFill }; video2Frame = new Frame { Content = video2Image, BorderColor = Color.Black, BackgroundColor = Color.Black, HasShadow = false, Padding = 3 }; video2Lbl = new Label { #if __IOS__ FontFamily = "AmericanTypewriter-Bold", FontSize = lblSize, #endif #if __ANDROID__ FontFamily = "Roboto Bold", FontSize = lblSize * .75, #endif Text = "Spider Guard Stuff!", Style = (Style)Application.Current.Resources["common-technique-lbl"] }; video2Tap = new TapGestureRecognizer(); video2Tap.Tapped += async(sender, e) => { ToggleButtons(); VideoData video = VimeoInfo.data[1]; await Navigation.PushModalAsync(new VideoDetailPage(video)); ToggleButtons(); }; video2Lbl.GestureRecognizers.Add(video2Tap); playListLbl = new Label { Text = "Playlists", #if __IOS__ FontFamily = "AmericanTypewriter-Bold", FontSize = lblSize * 2, #endif #if __ANDROID__ FontFamily = "Roboto Bold", FontSize = lblSize, #endif VerticalTextAlignment = TextAlignment.Center, HorizontalTextAlignment = TextAlignment.Center, }; addPlaylistBtn = new Button { Style = (Style)Application.Current.Resources["common-blue-btn"], Text = "Create", #if __IOS__ FontSize = btnSize * 1.5, #endif #if __ANDROID__ FontFamily = "Roboto Bold", FontSize = btnSize * .75, Margin = -5, #endif }; viewPlaylistBtn = new Button { Style = (Style)Application.Current.Resources["common-blue-btn"], Text = "View", #if __IOS__ FontSize = btnSize * 1.5, #endif #if __ANDROID__ FontFamily = "Roboto Bold", FontSize = btnSize * .75, Margin = -5, #endif }; timeOutLbl = new Label { #if __IOS__ FontFamily = "AmericanTypewriter-Bold", #endif #if __ANDROID__ FontFamily = "Roboto Bold", #endif Text = "Network Has Timed Out! \n Click To Try Again!", LineBreakMode = LineBreakMode.WordWrap, FontSize = lblSize, VerticalTextAlignment = TextAlignment.Center, HorizontalTextAlignment = TextAlignment.Center, HorizontalOptions = LayoutOptions.CenterAndExpand, VerticalOptions = LayoutOptions.CenterAndExpand, TextColor = Color.White }; timeOutFrame = new Frame { Content = timeOutLbl, BorderColor = Color.Black, BackgroundColor = Color.Black, HasShadow = false, Padding = 3, HorizontalOptions = LayoutOptions.CenterAndExpand, VerticalOptions = LayoutOptions.CenterAndExpand }; timeOutTap = new TapGestureRecognizer(); timeOutTap.Tapped += (sender, e) => { ToggleButtons(); SetContent(this.account); ToggleButtons(); }; timeOutLbl.GestureRecognizers.Add(timeOutTap); activityIndicator = new ActivityIndicator { Style = (Style)Application.Current.Resources["common-activity-indicator"] }; //events addPlaylistBtn.Clicked += async(object sender, EventArgs e) => { ToggleButtons(); await Navigation.PushModalAsync(new PlaylistCreatePage()); ToggleButtons(); }; viewPlaylistBtn.Clicked += async(object sender, EventArgs e) => { ToggleButtons(); await Navigation.PushModalAsync(new PlaylistViewPage()); ToggleButtons(); }; outerGrid.Children.Add(innerGrid, 0, 0); Content = outerGrid; }
private void SetContent() { var btnSize = Device.GetNamedSize(NamedSize.Large, typeof(Button)); var lblSize = Device.GetNamedSize(NamedSize.Large, typeof(Label)); var entrySize = Device.GetNamedSize(NamedSize.Large, typeof(Entry)); outerGrid = new Grid { RowDefinitions = new RowDefinitionCollection { new RowDefinition { Height = new GridLength(1, GridUnitType.Star) } } }; innerGrid = new Grid { RowDefinitions = new RowDefinitionCollection { #if __ANDROID__ new RowDefinition { Height = new GridLength(6, GridUnitType.Star) }, new RowDefinition { Height = new GridLength(1, GridUnitType.Star) } #endif #if __IOS__ new RowDefinition { Height = new GridLength(9, GridUnitType.Star) }, new RowDefinition { Height = new GridLength(1, GridUnitType.Star) } #endif } }; buttonGrid = new Grid { RowDefinitions = new RowDefinitionCollection { new RowDefinition { Height = new GridLength(1, GridUnitType.Star) } }, ColumnDefinitions = new ColumnDefinitionCollection { new ColumnDefinition { Width = new GridLength(1, GridUnitType.Star) }, new ColumnDefinition { Width = new GridLength(1, GridUnitType.Star) } } }; giStackLayout = new StackLayout(); noGiStackLayout = new StackLayout(); #region GI #if __ANDROID__ androidGiTitle = new Android.Widget.TextView(MainApplication.ActivityContext); androidGiTitle.Text = "Gi"; androidGiTitle.Typeface = Constants.COMMONFONT; androidGiTitle.SetTextSize(Android.Util.ComplexUnitType.Fraction, 100); androidGiTitle.SetTextColor(Android.Graphics.Color.Black); androidGiTitle.Gravity = Android.Views.GravityFlags.Start; androidGiTitle.SetTypeface(androidGiTitle.Typeface, Android.Graphics.TypefaceStyle.Bold); contentViewGiTitle = new ContentView(); contentViewGiTitle.Content = androidGiTitle.ToView(); androidGiPrice = new Android.Widget.TextView(MainApplication.ActivityContext); androidGiPrice.Text = "$19.99"; androidGiPrice.Typeface = Constants.COMMONFONT; androidGiPrice.SetTextSize(Android.Util.ComplexUnitType.Fraction, 100); androidGiPrice.SetTextColor(Android.Graphics.Color.Black); androidGiPrice.Gravity = Android.Views.GravityFlags.Start; androidGiPrice.SetTypeface(androidGiPrice.Typeface, Android.Graphics.TypefaceStyle.Bold); contentViewGiPrice = new ContentView(); contentViewGiPrice.Content = androidGiPrice.ToView(); androidGiBody = new Android.Widget.TextView(MainApplication.ActivityContext); androidGiBody.Text = "This library is growing constantly and there is no end in sight. The beauty of this package is that you get to follow our system as we develop and implement new transitions and positions. We’re constantly pushing the barrier in terms of our style and approach to Jiu-Jitsu. Every position that gets posted has been drilled to death and executed at the highest levels of competition. We’re proud of this; something I see wrong with other instructional resources is positions are shown that I know they have never ever hit in a competition or anything. You never have to worry about that with our techniques. One of the biggest advantages of our app is that you have direct access to us, if you have any questions or concerns; contacting us is a click away. Let’s grow and develop our Jiu Jitsu together!"; androidGiBody.Typeface = Constants.COMMONFONT; androidGiBody.SetTextSize(Android.Util.ComplexUnitType.Fraction, 50); androidGiBody.SetTextColor(Android.Graphics.Color.Black); androidGiBody.Gravity = Android.Views.GravityFlags.Start; androidGiBody.SetTypeface(androidGiBody.Typeface, Android.Graphics.TypefaceStyle.Bold); contentViewGiTitle = new ContentView(); contentViewGiTitle.Content = androidGiBody.ToView(); contentViewGiPrice = new ContentView(); contentViewGiPrice.Content = androidGiPrice.ToView(); contentViewGiBody = new ContentView(); contentViewGiBody.Content = androidGiBody.ToView(); #endif giTitle = new Label { #if __IOS__ FontFamily = "AmericanTypewriter-Bold", #endif #if __ANDROID__ FontFamily = "Roboto Bold", #endif Text = "Gi", FontSize = lblSize * 2, TextColor = Color.Black, FontAttributes = FontAttributes.Bold }; giPrice = new Label { #if __IOS__ FontFamily = "AmericanTypewriter-Bold", #endif #if __ANDROID__ FontFamily = "Roboto Bold", #endif Text = "$19.99 (One Time Purchase)", FontSize = lblSize * 1.5, TextColor = Color.Black, FontAttributes = FontAttributes.Bold }; giBody = new Label { #if __IOS__ FontFamily = "AmericanTypewriter-Bold", #endif #if __ANDROID__ FontFamily = "Roboto Bold", #endif Text = "This library is growing constantly and there is no end in sight. The beauty of this package is that you get to follow our system as we develop and implement new transitions and positions. We’re constantly pushing the barrier in terms of our style and approach to Jiu-Jitsu. Every position that gets posted has been drilled to death and executed at the highest levels of competition. We’re proud of this; something I see wrong with other instructional resources is positions are shown that I know they have never ever hit in a competition or anything. You never have to worry about that with our techniques. One of the biggest advantages of our app is that you have direct access to us, if you have any questions or concerns; contacting us is a click away. Let’s grow and develop our Jiu Jitsu together!", FontSize = lblSize, TextColor = Color.Black, FontAttributes = FontAttributes.Bold }; giImage = new Image { Source = "gi.jpg", Aspect = Aspect.AspectFit }; giImageFrame = new Frame { BorderColor = Color.Black, BackgroundColor = Color.Black, Padding = 2, Content = giImage, HasShadow = false }; giScrollView = new ScrollView { BackgroundColor = Color.FromRgb(57, 172, 166), Content = giStackLayout, #if __ANDROID__ IsClippedToBounds = true #endif }; giFrame = new Frame { BorderColor = Color.Black, BackgroundColor = Color.Black, #if __ANDROID__ Padding = 0, #endif #if __IOS__ Padding = 5, #endif Content = giScrollView, HasShadow = false }; #endregion #region NOGI #if __ANDROID__ androidNoGiTitle = new Android.Widget.TextView(MainApplication.ActivityContext); androidNoGiTitle.Text = "No-Gi"; androidNoGiTitle.Typeface = Constants.COMMONFONT; androidNoGiTitle.SetTextSize(Android.Util.ComplexUnitType.Fraction, 100); androidNoGiTitle.SetTextColor(Android.Graphics.Color.Black); androidNoGiTitle.Gravity = Android.Views.GravityFlags.Start; androidNoGiTitle.SetTypeface(androidNoGiTitle.Typeface, Android.Graphics.TypefaceStyle.Bold); androidNoGiPrice = new Android.Widget.TextView(MainApplication.ActivityContext); androidNoGiPrice.Text = "$19.99"; androidNoGiPrice.Typeface = Constants.COMMONFONT; androidNoGiPrice.SetTextSize(Android.Util.ComplexUnitType.Fraction, 100); androidNoGiPrice.SetTextColor(Android.Graphics.Color.Black); androidNoGiPrice.Gravity = Android.Views.GravityFlags.Start; androidNoGiPrice.SetTypeface(androidNoGiPrice.Typeface, Android.Graphics.TypefaceStyle.Bold); androidNoGiBody = new Android.Widget.TextView(MainApplication.ActivityContext); androidNoGiBody.Text = "Just like the other packages, the No-Gi library is constantly being updated. So that means you’ll grow along with us. As we come up with new tweaks and transitions you’ll see it first as we are constantly updating our libraries. Through these techniques and positions your game will be brought to a new technical level. All the while being exposed to a unique point of view on approaching Jiu Jitsu. Some of the biggest advantages of this package is that you have direct access to us, the ones who implement and recorded these techniques. We love to hear from our members and never ignore anyone. Lets grow together!"; androidNoGiBody.Typeface = Constants.COMMONFONT; androidNoGiBody.SetTextSize(Android.Util.ComplexUnitType.Fraction, 50); androidNoGiBody.SetTextColor(Android.Graphics.Color.Black); androidNoGiBody.Gravity = Android.Views.GravityFlags.Start; androidNoGiBody.SetTypeface(androidNoGiBody.Typeface, Android.Graphics.TypefaceStyle.Bold); contentViewNoGiTitle = new ContentView(); contentViewNoGiTitle.Content = androidNoGiTitle.ToView(); contentViewNoGiPrice = new ContentView(); contentViewNoGiPrice.Content = androidNoGiPrice.ToView(); contentViewNoGiBody = new ContentView(); contentViewNoGiBody.Content = androidNoGiBody.ToView(); #endif noGiTitle = new Label { #if __IOS__ FontFamily = "AmericanTypewriter-Bold", #endif #if __ANDROID__ FontFamily = "Roboto Bold", #endif Text = "No-Gi", FontSize = lblSize * 2, TextColor = Color.Black, FontAttributes = FontAttributes.Bold }; noGiPrice = new Label { #if __IOS__ FontFamily = "AmericanTypewriter-Bold", #endif #if __ANDROID__ FontFamily = "Roboto Bold", #endif Text = "$19.99 (One Time Purchase)", FontSize = lblSize * 1.5, TextColor = Color.Black, FontAttributes = FontAttributes.Bold }; noGiBody = new Label { #if __IOS__ FontFamily = "AmericanTypewriter-Bold", #endif #if __ANDROID__ FontFamily = "Roboto Bold", #endif Text = "Just like the other packages, the No-Gi library is constantly being updated. So that means you’ll grow along with us. As we come up with new tweaks and transitions you’ll see it first as we are constantly updating our libraries. Through these techniques and positions your game will be brought to a new technical level. All the while being exposed to a unique point of view on approaching Jiu Jitsu. Some of the biggest advantages of this package is that you have direct access to us, the ones who implement and recorded these techniques. We love to hear from our members and never ignore anyone. Lets grow together!", FontSize = lblSize, TextColor = Color.Black, FontAttributes = FontAttributes.Bold }; noGiImage = new Image { Source = "nogi6.jpeg", Aspect = Aspect.AspectFit }; noGiImageFrame = new Frame { BorderColor = Color.Black, BackgroundColor = Color.Black, Padding = 2, Content = noGiImage, HasShadow = false }; noGiScrollView = new ScrollView { BackgroundColor = Color.FromRgb(57, 172, 166), Content = noGiStackLayout, #if __ANDROID__ IsClippedToBounds = true, Padding = new Thickness(5, 5, 5, 0) #endif }; noGiFrame = new Frame { BorderColor = Color.Black, BackgroundColor = Color.Black, #if __ANDROID__ Padding = 0, #endif #if __IOS__ Padding = 5, #endif Content = noGiScrollView, HasShadow = false }; #endregion backBtn = new Button { Image = "back.png", Style = (Style)Application.Current.Resources["common-red-btn"] }; purchaseBtn = new Button { #if __IOS__ FontFamily = "AmericanTypewriter-Bold", FontSize = btnSize * 1.5, #endif Text = "Purchase", BackgroundColor = Color.FromRgb(58, 93, 174), TextColor = Color.Black, BorderWidth = 3, BorderColor = Color.Black, VerticalOptions = LayoutOptions.FillAndExpand, HorizontalOptions = LayoutOptions.FillAndExpand }; #if __ANDROID__ var pd = new PaintDrawable(Android.Graphics.Color.Rgb(58, 93, 174)); pd.SetCornerRadius(100); androidPurchaseBtn = new Android.Widget.Button(MainApplication.ActivityContext); androidPurchaseBtn.Text = "Purchase"; androidPurchaseBtn.Typeface = Constants.COMMONFONT; androidPurchaseBtn.SetBackground(pd); androidPurchaseBtn.SetTextColor(Android.Graphics.Color.Rgb(242, 253, 255)); androidPurchaseBtn.SetAutoSizeTextTypeWithDefaults(Android.Widget.AutoSizeTextType.Uniform); androidPurchaseBtn.Gravity = Android.Views.GravityFlags.Center; androidPurchaseBtn.SetAllCaps(false); androidPurchaseBtn.Click += async(object sender, EventArgs e) => { ToggleButtons(); await PurchasePackage(); ToggleButtons(); }; contentViewPurchaseBtn = new ContentView(); contentViewPurchaseBtn.Content = androidPurchaseBtn.ToView(); #endif //events backBtn.Clicked += (object sender, EventArgs e) => { ToggleButtons(); Navigation.PopModalAsync(); ToggleButtons(); }; purchaseBtn.Clicked += async(object sender, EventArgs e) => { ToggleButtons(); await PurchasePackage(); ToggleButtons(); }; #if __ANDROID__ giStackLayout.Children.Add(contentViewGiTitle); giStackLayout.Children.Add(contentViewGiPrice); giStackLayout.Children.Add(contentViewGiBody); giStackLayout.Children.Add(giImageFrame); giStackLayout.Orientation = StackOrientation.Vertical; noGiStackLayout.Children.Add(contentViewNoGiTitle); noGiStackLayout.Children.Add(contentViewNoGiPrice); noGiStackLayout.Children.Add(contentViewNoGiBody); noGiStackLayout.Children.Add(noGiImageFrame); noGiStackLayout.Orientation = StackOrientation.Vertical; #endif #if __IOS__ buttonGrid.Children.Add(backBtn, 0, 0); buttonGrid.Children.Add(purchaseBtn, 1, 0); giStackLayout.Children.Add(giTitle); giStackLayout.Children.Add(giPrice); giStackLayout.Children.Add(giBody); giStackLayout.Children.Add(giImageFrame); giStackLayout.Orientation = StackOrientation.Vertical; noGiStackLayout.Children.Add(noGiTitle); noGiStackLayout.Children.Add(noGiPrice); noGiStackLayout.Children.Add(noGiBody); noGiStackLayout.Children.Add(noGiImageFrame); noGiStackLayout.Orientation = StackOrientation.Vertical; #endif if (this.package == Package.Gi) { innerGrid.Children.Add(giFrame, 0, 0); } else { innerGrid.Children.Add(noGiFrame, 0, 0); } #if __ANDROID__ innerGrid.Children.Add(contentViewPurchaseBtn, 0, 1); outerGrid.Children.Add(innerGrid, 0, 0); #endif #if __IOS__ innerGrid.Children.Add(buttonGrid, 0, 1); outerGrid.Children.Add(innerGrid, 0, 0); #endif Content = outerGrid; }
private void SetContent(bool hasUser) { var btnSize = Device.GetNamedSize(NamedSize.Large, typeof(Button)); var lblSize = Device.GetNamedSize(NamedSize.Large, typeof(Label)); var entrySize = Device.GetNamedSize(NamedSize.Large, typeof(Entry)); outerGrid = new Grid { RowDefinitions = new RowDefinitionCollection { new RowDefinition { Height = new GridLength(1, GridUnitType.Star) } } }; #if __IOS__ buttonGrid = new Grid { RowDefinitions = new RowDefinitionCollection { new RowDefinition { Height = new GridLength(1, GridUnitType.Star) } }, ColumnDefinitions = new ColumnDefinitionCollection { new ColumnDefinition { Width = new GridLength(1, GridUnitType.Star) }, new ColumnDefinition { Width = new GridLength(1, GridUnitType.Star) } } }; #endif #if __ANDROID__ buttonGrid = new Grid { RowDefinitions = new RowDefinitionCollection { new RowDefinition { Height = new GridLength(1, GridUnitType.Star) } } }; #endif #if __ANDROID__ var pd = new PaintDrawable(Android.Graphics.Color.Rgb(58, 93, 174)); pd.SetCornerRadius(100); androidSummaryLbl = new Android.Widget.TextView(MainApplication.ActivityContext); androidSummaryLbl.Text = "Summary"; androidSummaryLbl.Typeface = Constants.COMMONFONT; androidSummaryLbl.SetTextSize(Android.Util.ComplexUnitType.Fraction, 100); androidSummaryLbl.SetTextColor(Android.Graphics.Color.Black); androidSummaryLbl.Gravity = Android.Views.GravityFlags.Start; androidSummaryLbl.SetTypeface(androidSummaryLbl.Typeface, Android.Graphics.TypefaceStyle.Bold); androidPackageLbl = new Android.Widget.TextView(MainApplication.ActivityContext); androidPackageLbl.Text = $"Package: {packageName}"; androidPackageLbl.Typeface = Constants.COMMONFONT; androidPackageLbl.SetTextSize(Android.Util.ComplexUnitType.Fraction, 75); androidPackageLbl.SetTextColor(Android.Graphics.Color.Black); androidPackageLbl.Gravity = Android.Views.GravityFlags.Start; androidPriceLbl = new Android.Widget.TextView(MainApplication.ActivityContext); androidPriceLbl.Text = $"Price: {packagePrice}"; androidPriceLbl.Typeface = Constants.COMMONFONT; androidPriceLbl.SetTextSize(Android.Util.ComplexUnitType.Fraction, 75); androidPriceLbl.SetTextColor(Android.Graphics.Color.Black); androidPriceLbl.Gravity = Android.Views.GravityFlags.Start; androidSignUpBtn = new Android.Widget.Button(MainApplication.ActivityContext); androidSignUpBtn.Text = "Sign Up"; androidSignUpBtn.Typeface = Constants.COMMONFONT; androidSignUpBtn.SetTextColor(Android.Graphics.Color.Rgb(242, 253, 255)); androidSignUpBtn.SetBackground(pd); androidSignUpBtn.SetAutoSizeTextTypeWithDefaults(Android.Widget.AutoSizeTextType.Uniform); androidSignUpBtn.Gravity = Android.Views.GravityFlags.Center; androidSignUpBtn.Click += async(object sender, EventArgs e) => { ToggleButtons(); await SignUp(); ToggleButtons(); }; androidSignUpBtn.SetAllCaps(false); if (hasUser) { androidUserDetailsLbl = new Android.Widget.TextView(MainApplication.ActivityContext); androidUserDetailsLbl.Text = "User Details"; androidUserDetailsLbl.Typeface = Constants.COMMONFONT; androidUserDetailsLbl.SetTextSize(Android.Util.ComplexUnitType.Fraction, 100); androidUserDetailsLbl.SetTextColor(Android.Graphics.Color.Black); androidUserDetailsLbl.Gravity = Android.Views.GravityFlags.Start; androidUserDetailsLbl.SetTypeface(androidUserDetailsLbl.Typeface, Android.Graphics.TypefaceStyle.Bold); androidNameLbl = new Android.Widget.TextView(MainApplication.ActivityContext); androidNameLbl.Text = $"Name: {user.Name}"; androidNameLbl.Typeface = Constants.COMMONFONT; androidNameLbl.SetTextSize(Android.Util.ComplexUnitType.Fraction, 75); androidNameLbl.SetTextColor(Android.Graphics.Color.Black); androidNameLbl.Gravity = Android.Views.GravityFlags.Start; androidEmailLbl = new Android.Widget.TextView(MainApplication.ActivityContext); androidEmailLbl.Text = $"E-Mail: {user.Email}"; androidEmailLbl.Typeface = Constants.COMMONFONT; androidEmailLbl.SetTextSize(Android.Util.ComplexUnitType.Fraction, 75); androidEmailLbl.SetTextColor(Android.Graphics.Color.Black); androidEmailLbl.Gravity = Android.Views.GravityFlags.Start; androidBeltLbl = new Android.Widget.TextView(MainApplication.ActivityContext); androidBeltLbl.Text = $"Belt: {user.Belt}"; androidBeltLbl.Typeface = Constants.COMMONFONT; androidBeltLbl.SetTextSize(Android.Util.ComplexUnitType.Fraction, 75); androidBeltLbl.SetTextColor(Android.Graphics.Color.Black); androidBeltLbl.Gravity = Android.Views.GravityFlags.Start; androidSecretQuestionLbl = new Android.Widget.TextView(MainApplication.ActivityContext); androidSecretQuestionLbl.Text = $"Secret Question: {user.SecretQuestion}"; androidSecretQuestionLbl.Typeface = Constants.COMMONFONT; androidSecretQuestionLbl.SetTextSize(Android.Util.ComplexUnitType.Fraction, 75); androidSecretQuestionLbl.SetTextColor(Android.Graphics.Color.Black); androidSecretQuestionLbl.Gravity = Android.Views.GravityFlags.Start; androidSecretQuestionAnswerLbl = new Android.Widget.TextView(MainApplication.ActivityContext); androidSecretQuestionAnswerLbl.Text = $"Answer: {user.SecretQuestionAnswer}"; androidSecretQuestionAnswerLbl.Typeface = Constants.COMMONFONT; androidSecretQuestionAnswerLbl.SetTextSize(Android.Util.ComplexUnitType.Fraction, 75); androidSecretQuestionAnswerLbl.SetTextColor(Android.Graphics.Color.Black); androidSecretQuestionAnswerLbl.Gravity = Android.Views.GravityFlags.Start; } #endif backBtn = new Button { Style = (Style)Application.Current.Resources["common-red-btn"], Image = "back.png", VerticalOptions = LayoutOptions.FillAndExpand, HorizontalOptions = LayoutOptions.FillAndExpand }; backBtn.Clicked += async(sender, e) => { ToggleButtons(); await Navigation.PopModalAsync(); ToggleButtons(); }; signUpBtn = new Button { Style = (Style)Application.Current.Resources["common-blue-btn"], #if __IOS__ FontFamily = "AmericanTypewriter-Bold", FontSize = btnSize * 1.5, #endif #if __ANDROID__ FontFamily = "Roboto Bold", FontSize = btnSize, #endif Text = "Sign Up", VerticalOptions = LayoutOptions.FillAndExpand, HorizontalOptions = LayoutOptions.FillAndExpand, }; signUpBtn.Clicked += async(sender, e) => { ToggleButtons(); await SignUp(); ToggleButtons(); }; #if __IOS__ buttonGrid.Children.Add(backBtn, 0, 0); buttonGrid.Children.Add(signUpBtn, 1, 0); #endif summaryLbl = new Label { #if __IOS__ FontFamily = "AmericanTypewriter-Bold", FontSize = lblSize * 1.5, #endif #if __ANDROID__ FontFamily = "Roboto Bold", FontSize = lblSize, #endif Text = "Summary", LineBreakMode = LineBreakMode.WordWrap, VerticalTextAlignment = TextAlignment.Center, HorizontalTextAlignment = TextAlignment.Center, VerticalOptions = LayoutOptions.FillAndExpand, HorizontalOptions = LayoutOptions.FillAndExpand }; userDetailsLbl = new Label { #if __IOS__ FontFamily = "AmericanTypewriter-Bold", FontSize = lblSize * 1.5, #endif #if __ANDROID__ FontFamily = "Roboto Bold", FontSize = lblSize, #endif Text = "User Details", LineBreakMode = LineBreakMode.WordWrap, VerticalTextAlignment = TextAlignment.Center, HorizontalTextAlignment = TextAlignment.Center, VerticalOptions = LayoutOptions.FillAndExpand, HorizontalOptions = LayoutOptions.FillAndExpand }; packageLbl = new Label { #if __IOS__ FontFamily = "AmericanTypewriter-Bold", FontSize = lblSize, #endif #if __ANDROID__ FontFamily = "Roboto Bold", FontSize = lblSize * .75, #endif Text = $"Package: {packageName}", LineBreakMode = LineBreakMode.WordWrap, VerticalTextAlignment = TextAlignment.Center, HorizontalTextAlignment = TextAlignment.Start, VerticalOptions = LayoutOptions.FillAndExpand, HorizontalOptions = LayoutOptions.FillAndExpand }; priceLbl = new Label { #if __IOS__ FontFamily = "AmericanTypewriter-Bold", FontSize = lblSize, #endif #if __ANDROID__ FontFamily = "Roboto Bold", FontSize = lblSize * .75, #endif Text = $"Price: {packagePrice}", LineBreakMode = LineBreakMode.WordWrap, VerticalTextAlignment = TextAlignment.Center, HorizontalTextAlignment = TextAlignment.Start, VerticalOptions = LayoutOptions.FillAndExpand, HorizontalOptions = LayoutOptions.FillAndExpand }; packageImage = new Image(); if (packageName.Equals("Gi Jiu-Jitsu Package")) { packageImage.Source = "gi.jpg"; } else if (packageName.Equals("No-Gi Jiu-Jitsu Package")) { packageImage.Source = "nogi6.jpeg"; } else { packageImage.Source = "sweep.JPG"; } packageImage.Aspect = Aspect.AspectFit; if (hasUser) { nameLbl = new Label { #if __IOS__ FontFamily = "AmericanTypewriter-Bold", FontSize = lblSize, #endif #if __ANDROID__ FontFamily = "Roboto Bold", FontSize = lblSize * .75, #endif Text = $"Name: {user.Name}", LineBreakMode = LineBreakMode.WordWrap, VerticalTextAlignment = TextAlignment.Center, HorizontalTextAlignment = TextAlignment.Start, VerticalOptions = LayoutOptions.FillAndExpand, HorizontalOptions = LayoutOptions.FillAndExpand }; emailLbl = new Label { #if __IOS__ FontFamily = "AmericanTypewriter-Bold", FontSize = lblSize, #endif #if __ANDROID__ FontFamily = "Roboto Bold", FontSize = lblSize * .75, #endif Text = $"E-Mail: {user.Email}", LineBreakMode = LineBreakMode.WordWrap, VerticalTextAlignment = TextAlignment.Center, HorizontalTextAlignment = TextAlignment.Start, VerticalOptions = LayoutOptions.FillAndExpand, HorizontalOptions = LayoutOptions.FillAndExpand }; beltLbl = new Label { #if __IOS__ FontFamily = "AmericanTypewriter-Bold", FontSize = lblSize, #endif #if __ANDROID__ FontFamily = "Roboto Bold", FontSize = lblSize * .75, #endif Text = $"Belt: {user.Belt}", LineBreakMode = LineBreakMode.WordWrap, VerticalTextAlignment = TextAlignment.Center, HorizontalTextAlignment = TextAlignment.Start, VerticalOptions = LayoutOptions.FillAndExpand, HorizontalOptions = LayoutOptions.FillAndExpand }; secretQuestionLbl = new Label { #if __IOS__ FontFamily = "AmericanTypewriter-Bold", FontSize = lblSize, #endif #if __ANDROID__ FontFamily = "Roboto Bold", FontSize = lblSize * .75, #endif Text = $"Secret Question: {user.SecretQuestion}", LineBreakMode = LineBreakMode.WordWrap, VerticalTextAlignment = TextAlignment.Center, HorizontalTextAlignment = TextAlignment.Start, VerticalOptions = LayoutOptions.FillAndExpand, HorizontalOptions = LayoutOptions.FillAndExpand }; secretQuestionAnswerLbl = new Label { #if __IOS__ FontFamily = "AmericanTypewriter-Bold", FontSize = lblSize, #endif #if __ANDROID__ FontFamily = "Roboto Bold", FontSize = lblSize * .75, #endif Text = $"Answer: {user.SecretQuestionAnswer}", LineBreakMode = LineBreakMode.WordWrap, VerticalTextAlignment = TextAlignment.Center, HorizontalTextAlignment = TextAlignment.Start, VerticalOptions = LayoutOptions.FillAndExpand, HorizontalOptions = LayoutOptions.FillAndExpand }; #if __IOS__ innerGrid = new Grid { RowDefinitions = new RowDefinitionCollection { new RowDefinition { Height = new GridLength(1, GridUnitType.Star) }, new RowDefinition { Height = new GridLength(1, GridUnitType.Star) }, new RowDefinition { Height = new GridLength(1, GridUnitType.Star) }, new RowDefinition { Height = new GridLength(1, GridUnitType.Star) }, new RowDefinition { Height = new GridLength(1, GridUnitType.Star) }, new RowDefinition { Height = new GridLength(1, GridUnitType.Star) }, new RowDefinition { Height = new GridLength(1, GridUnitType.Star) }, new RowDefinition { Height = new GridLength(1, GridUnitType.Star) }, new RowDefinition { Height = new GridLength(1, GridUnitType.Star) }, new RowDefinition { Height = new GridLength(2, GridUnitType.Star) } } }; #endif #if __ANDROID__ innerGrid = new Grid { RowDefinitions = new RowDefinitionCollection { new RowDefinition { Height = new GridLength(9, GridUnitType.Star) }, new RowDefinition { Height = new GridLength(1, GridUnitType.Star) } } }; #endif #if __ANDROID__ stackLayout = new StackLayout { Children = { androidSummaryLbl.ToView(), androidPackageLbl.ToView(), androidPriceLbl.ToView(), androidUserDetailsLbl.ToView(), androidNameLbl.ToView(), androidEmailLbl.ToView(), androidBeltLbl.ToView(), androidSecretQuestionLbl.ToView(), androidSecretQuestionAnswerLbl.ToView() } }; stackLayout.VerticalOptions = LayoutOptions.CenterAndExpand; stackLayout.HorizontalOptions = LayoutOptions.CenterAndExpand; scrollView = new ScrollView { Content = stackLayout, #if __ANDROID__ IsClippedToBounds = true #endif }; #endif #if __IOS__ innerGrid.Children.Add(summaryLbl, 0, 0); innerGrid.Children.Add(packageLbl, 0, 1); innerGrid.Children.Add(priceLbl, 0, 2); innerGrid.Children.Add(userDetailsLbl, 0, 3); innerGrid.Children.Add(nameLbl, 0, 4); innerGrid.Children.Add(emailLbl, 0, 5); innerGrid.Children.Add(beltLbl, 0, 6); innerGrid.Children.Add(secretQuestionLbl, 0, 7); innerGrid.Children.Add(secretQuestionAnswerLbl, 0, 8); innerGrid.Children.Add(buttonGrid, 0, 9); #endif #if __ANDROID__ buttonGrid.Children.Add(androidSignUpBtn.ToView(), 0, 0); innerGrid.Children.Add(scrollView, 0, 0); innerGrid.Children.Add(buttonGrid, 0, 1); #endif } else { innerGrid = new Grid(); innerGrid.RowDefinitions.Add(new RowDefinition { Height = new GridLength(1, GridUnitType.Star) }); innerGrid.RowDefinitions.Add(new RowDefinition { Height = new GridLength(1, GridUnitType.Star) }); innerGrid.RowDefinitions.Add(new RowDefinition { Height = new GridLength(1, GridUnitType.Star) }); innerGrid.RowDefinitions.Add(new RowDefinition { Height = new GridLength(4, GridUnitType.Star) }); innerGrid.RowDefinitions.Add(new RowDefinition { Height = new GridLength(1, GridUnitType.Star) }); #if __IOS__ innerGrid.Children.Add(summaryLbl, 0, 0); innerGrid.Children.Add(packageLbl, 0, 1); innerGrid.Children.Add(priceLbl, 0, 2); innerGrid.Children.Add(packageImage, 0, 3); innerGrid.Children.Add(buttonGrid, 0, 4); #endif #if __ANDROID__ buttonGrid.Children.Add(androidSignUpBtn.ToView(), 0, 0); innerGrid.Children.Add(androidSummaryLbl.ToView(), 0, 0); innerGrid.Children.Add(androidPackageLbl.ToView(), 0, 1); innerGrid.Children.Add(androidPriceLbl.ToView(), 0, 2); innerGrid.Children.Add(packageImage, 0, 3); innerGrid.Children.Add(buttonGrid, 0, 4); #endif } outerGrid.Children.Add(innerGrid, 0, 0); Content = outerGrid; }
public void SetContent() { var lblSize = Device.GetNamedSize(NamedSize.Large, typeof(Label)); var btnSize = Device.GetNamedSize(NamedSize.Large, typeof(Button)); //view objects #if __IOS__ innerGrid = new Grid { RowDefinitions = new RowDefinitionCollection { new RowDefinition { Height = new GridLength(4, GridUnitType.Star) }, new RowDefinition { Height = new GridLength(1, GridUnitType.Star) }, new RowDefinition { Height = new GridLength(3, GridUnitType.Star) }, new RowDefinition { Height = new GridLength(1, GridUnitType.Star) } }, ColumnDefinitions = new ColumnDefinitionCollection { new ColumnDefinition { Width = new GridLength(1, GridUnitType.Star) }, new ColumnDefinition { Width = new GridLength(1, GridUnitType.Star) }, new ColumnDefinition { Width = new GridLength(1, GridUnitType.Star) }, new ColumnDefinition { Width = new GridLength(1, GridUnitType.Star) } } }; #endif #if __ANDROID__ innerGrid = new Grid { RowDefinitions = new RowDefinitionCollection { new RowDefinition { Height = new GridLength(4, GridUnitType.Star) }, new RowDefinition { Height = new GridLength(1, GridUnitType.Star) }, new RowDefinition { Height = new GridLength(4, GridUnitType.Star) }, new RowDefinition { Height = new GridLength(1, GridUnitType.Star) } } }; if (userHasAccount) { buttonGrid = new Grid { ColumnDefinitions = new ColumnDefinitionCollection { new ColumnDefinition { Width = new GridLength(1, GridUnitType.Star) }, new ColumnDefinition { Width = new GridLength(1, GridUnitType.Star) }, new ColumnDefinition { Width = new GridLength(1, GridUnitType.Star) } } }; } else { buttonGrid = new Grid { ColumnDefinitions = new ColumnDefinitionCollection { new ColumnDefinition { Width = new GridLength(1, GridUnitType.Star) }, new ColumnDefinition { Width = new GridLength(1, GridUnitType.Star) } } }; } #endif outerGrid = new Grid { RowDefinitions = new RowDefinitionCollection { new RowDefinition { Height = new GridLength(1, GridUnitType.Star) } } }; #if __ANDROID__ var pd = new PaintDrawable(Android.Graphics.Color.Rgb(58, 93, 174)); pd.SetCornerRadius(100); androidVideoNameLbl = new Android.Widget.TextView(MainApplication.ActivityContext); androidVideoNameLbl.Text = videoTechnique.name; androidVideoNameLbl.Typeface = Constants.COMMONFONT; androidVideoNameLbl.SetTextSize(Android.Util.ComplexUnitType.Fraction, 100); androidVideoNameLbl.SetTextColor(Android.Graphics.Color.Rgb(241, 236, 206)); androidVideoNameLbl.Gravity = Android.Views.GravityFlags.Center; androidVideoNameLbl.SetTypeface(androidVideoNameLbl.Typeface, Android.Graphics.TypefaceStyle.Bold); androidVideoDescriptionLbl = new Android.Widget.TextView(MainApplication.ActivityContext); androidVideoDescriptionLbl.Text = videoTechnique.description; androidVideoDescriptionLbl.Typeface = Constants.COMMONFONT; androidVideoDescriptionLbl.SetTextSize(Android.Util.ComplexUnitType.Fraction, 50); androidVideoDescriptionLbl.SetTextColor(Android.Graphics.Color.Black); androidVideoDescriptionLbl.Gravity = Android.Views.GravityFlags.Start; androidPlayImgBtn = new Android.Widget.ImageButton(MainApplication.ActivityContext); androidPlayImgBtn.SetAdjustViewBounds(true); androidPlayImgBtn.SetImageResource(2130837817); androidPlayImgBtn.SetBackground(pd); androidPlayImgBtn.Click += async(object sender, EventArgs e) => { ToggleButtons(); await PlayAndroidVideo(sender, e); ToggleButtons(); }; androidAddBtn = new Android.Widget.Button(MainApplication.ActivityContext); androidAddBtn.Text = "+"; androidAddBtn.Typeface = Constants.COMMONFONT; androidAddBtn.SetAutoSizeTextTypeWithDefaults(Android.Widget.AutoSizeTextType.Uniform); androidAddBtn.SetTextColor(Android.Graphics.Color.Rgb(242, 253, 255)); androidAddBtn.SetBackground(pd); androidAddBtn.Gravity = Android.Views.GravityFlags.Center; androidAddBtn.SetAllCaps(false); androidAddBtn.Click += async(object sender, EventArgs e) => { ToggleButtons(); await AddVideoToPlaylist(sender, e); ToggleButtons(); }; androidQualityBtn = new Android.Widget.Button(MainApplication.ActivityContext); androidQualityBtn.Text = "SD"; androidQualityBtn.Typeface = Constants.COMMONFONT; androidQualityBtn.SetAutoSizeTextTypeWithDefaults(Android.Widget.AutoSizeTextType.Uniform); androidQualityBtn.SetTextColor(Android.Graphics.Color.Rgb(242, 253, 255)); androidQualityBtn.SetBackground(pd); androidQualityBtn.Gravity = Android.Views.GravityFlags.Center; androidQualityBtn.SetAllCaps(false); androidQualityBtn.Click += async(object sender, EventArgs e) => { ToggleButtons(); await ChangeVideoQuality(sender, e); ToggleButtons(); }; contentViewNameLbl = new ContentView(); contentViewNameLbl.Content = androidVideoNameLbl.ToView(); contentViewDescriptionLbl = new ContentView(); contentViewDescriptionLbl.Content = androidVideoDescriptionLbl.ToView(); contentViewPlayBtn = new ContentView(); contentViewPlayBtn.Content = androidPlayImgBtn.ToView(); contentViewAddBtn = new ContentView(); contentViewAddBtn.Content = androidAddBtn.ToView(); contentViewQualityBtn = new ContentView(); contentViewQualityBtn.Content = androidQualityBtn.ToView(); #endif backBtn = new Button { Image = "back.png", Style = (Style)Application.Current.Resources["common-red-btn"] }; videoNameLbl = new Label { Style = (Style)Application.Current.Resources["common-technique-lbl"], Text = videoTechnique.name, #if __IOS__ FontFamily = "AmericanTypewriter-Bold", FontSize = lblSize, #endif #if __ANDROID__ FontFamily = "Roboto Bold", FontSize = lblSize * .75, #endif }; videoDescription = new Label { Text = videoTechnique.description, #if __IOS__ FontFamily = "AmericanTypewriter-Bold", FontSize = Device.GetNamedSize(NamedSize.Small, typeof(Label)), #endif #if __ANDROID__ FontFamily = "Roboto Bold", FontSize = Device.GetNamedSize(NamedSize.Medium, typeof(Label)), TextColor = Color.Black, #endif VerticalTextAlignment = TextAlignment.Start, HorizontalTextAlignment = TextAlignment.Start, LineBreakMode = LineBreakMode.WordWrap, }; videoDescriptionScrollView = new ScrollView { Padding = 0, #if __ANDROID__ Content = contentViewDescriptionLbl, IsClippedToBounds = true, #endif #if __IOS__ Content = videoDescription, #endif Orientation = ScrollOrientation.Vertical }; videoImage = new Image { Source = videoTechnique.pictures.sizes[4].link, Aspect = Aspect.AspectFill }; videoFrame = new Frame { Content = videoImage, BorderColor = Color.Black, BackgroundColor = Color.Black, HasShadow = false, Padding = 3 }; playBtn = new Button { Style = (Style)Application.Current.Resources["common-blue-btn"], Image = "play.png" }; addBtn = new Button { Style = (Style)Application.Current.Resources["common-blue-btn"], Text = "+", #if __IOS__ FontFamily = "AmericanTypewriter-Bold", FontSize = btnSize * 3, #endif #if __ANDROID__ FontFamily = "Roboto Bold", FontSize = btnSize, Margin = -5, #endif }; qualityBtn = new Button { Style = (Style)Application.Current.Resources["common-blue-btn"], Text = "SD", FontFamily = "AmericanTypewriter-Bold", FontSize = btnSize * 2, }; //Events backBtn.Clicked += async(object sender, EventArgs e) => { ToggleButtons(); await Navigation.PopModalAsync(); ToggleButtons(); }; addBtn.Clicked += async(object sender, EventArgs e) => { ToggleButtons(); await AddVideoToPlaylist(sender, e); ToggleButtons(); }; qualityBtn.Clicked += async(object sender, EventArgs e) => { ToggleButtons(); await ChangeVideoQuality(sender, e); ToggleButtons(); }; #if __IOS__ playBtn.Clicked += PlayIOSVideo; #endif #if __ANDROID__ playBtn.Clicked += async(object sender, EventArgs e) => { ToggleButtons(); await PlayAndroidVideo(sender, e); ToggleButtons(); }; #endif if (userHasAccount) { //building grid innerGrid.Children.Add(videoFrame, 0, 0); #if __IOS__ Grid.SetColumnSpan(videoFrame, 4); innerGrid.Children.Add(videoNameLbl, 0, 0); Grid.SetColumnSpan(videoNameLbl, 4); innerGrid.Children.Add(playBtn, 0, 1); Grid.SetColumnSpan(playBtn, 2); innerGrid.Children.Add(addBtn, 2, 1); innerGrid.Children.Add(qualityBtn, 3, 1); innerGrid.Children.Add(videoDescriptionScrollView, 0, 2); Grid.SetColumnSpan(videoDescriptionScrollView, 4); innerGrid.Children.Add(backBtn, 0, 3); Grid.SetColumnSpan(backBtn, 4); #endif #if __ANDROID__ buttonGrid.Children.Add(contentViewPlayBtn, 0, 0); buttonGrid.Children.Add(contentViewAddBtn, 1, 0); buttonGrid.Children.Add(contentViewQualityBtn, 2, 0); innerGrid.Children.Add(contentViewNameLbl, 0, 0); innerGrid.Children.Add(buttonGrid, 0, 1); innerGrid.Children.Add(videoDescriptionScrollView, 0, 2); Grid.SetRowSpan(videoDescriptionScrollView, 2); #endif } else { //building grid #if __ANDROID__ buttonGrid.Children.Add(contentViewPlayBtn, 0, 0); buttonGrid.Children.Add(contentViewQualityBtn, 1, 0); innerGrid.Children.Add(videoFrame, 0, 0); innerGrid.Children.Add(contentViewNameLbl, 0, 0); innerGrid.Children.Add(buttonGrid, 0, 1); innerGrid.Children.Add(videoDescriptionScrollView, 0, 2); #endif #if __IOS__ innerGrid.Children.Add(videoFrame, 0, 0); Grid.SetColumnSpan(videoFrame, 4); innerGrid.Children.Add(videoNameLbl, 0, 0); Grid.SetColumnSpan(videoNameLbl, 4); innerGrid.Children.Add(playBtn, 0, 1); Grid.SetColumnSpan(playBtn, 2); innerGrid.Children.Add(qualityBtn, 2, 1); Grid.SetColumnSpan(qualityBtn, 2); innerGrid.Children.Add(videoDescriptionScrollView, 0, 2); Grid.SetColumnSpan(videoDescriptionScrollView, 4); #endif #if __ANDROID__ Grid.SetRowSpan(videoDescriptionScrollView, 2); #endif #if __IOS__ innerGrid.Children.Add(backBtn, 0, 3); Grid.SetColumnSpan(backBtn, 4); #endif } outerGrid.Children.Add(innerGrid, 0, 0); Content = outerGrid; }
private void BuildPageObjects() { var btnSize = Device.GetNamedSize(NamedSize.Large, typeof(Button)); var lblSize = Device.GetNamedSize(NamedSize.Large, typeof(Label)); var entrySize = Device.GetNamedSize(NamedSize.Large, typeof(Entry)); giAndNoGiStackLayout = new StackLayout(); giStackLayout = new StackLayout(); noGiStackLayout = new StackLayout(); backBtn = new Button { Style = (Style)Application.Current.Resources["common-red-btn"], Image = "back.png", VerticalOptions = LayoutOptions.FillAndExpand, HorizontalOptions = LayoutOptions.FillAndExpand }; #region GI giTitle = new Label { #if __IOS__ FontFamily = "AmericanTypewriter-Bold", FontSize = lblSize * 2, #endif #if __ANDROID__ FontFamily = "Roboto Bold", FontSize = lblSize * 1.5, #endif Text = "Gi", TextColor = Color.Black, FontAttributes = FontAttributes.Bold }; giPrice = new Label { #if __IOS__ FontFamily = "AmericanTypewriter-Bold", FontSize = lblSize * 1.5, #endif #if __ANDROID__ FontFamily = "Roboto Bold", FontSize = lblSize * 1.5, #endif Text = "$19.99 (One Time Purchase)", TextColor = Color.Black, FontAttributes = FontAttributes.Bold }; giBody = new Label { #if __IOS__ FontFamily = "AmericanTypewriter-Bold", FontSize = lblSize, #endif #if __ANDROID__ FontFamily = "Roboto Bold", FontSize = lblSize, #endif Text = "This library is growing constantly and there is no end in sight. The beauty of this package is that you get to follow our system as we develop and implement new transitions and positions. We’re constantly pushing the barrier in terms of our style and approach to Jiu-Jitsu. Every position that gets posted has been drilled to death and executed at the highest levels of competition. We’re proud of this; something I see wrong with other instructional resources is positions are shown that I know they have never ever hit in a competition or anything. You never have to worry about that with our techniques. One of the biggest advantages of our app is that you have direct access to us, if you have any questions or concerns; contacting us is a click away. Let’s grow and develop our Jiu Jitsu together!", TextColor = Color.Black, FontAttributes = FontAttributes.Bold }; giImage = new Image { Source = "gi.jpg", Aspect = Aspect.AspectFit }; giImageFrame = new Frame { BorderColor = Color.Black, BackgroundColor = Color.Black, Padding = 2, Content = giImage, HasShadow = false }; giTap = new TapGestureRecognizer(); giTap.Tapped += async(sender, e) => { ToggleButtons(); await Navigation.PushModalAsync(new AccountInfoPage(Package.Gi)); ToggleButtons(); }; giStackLayout.GestureRecognizers.Add(giTap); giScrollView = new ScrollView { Content = giStackLayout, BackgroundColor = Color.FromRgb(57, 172, 166), #if __ANDROID__ IsClippedToBounds = true, Padding = new Thickness(5, 5, 5, 0) #endif }; giFrame = new Frame { BorderColor = Color.Black, BackgroundColor = Color.Black, #if __ANDROID__ Padding = 0, #endif #if __IOS__ Padding = 5, #endif Content = giScrollView, HasShadow = false }; #if __ANDROID__ androidGiTitle = new Android.Widget.TextView(MainApplication.ActivityContext); androidGiTitle.Text = "Gi"; androidGiTitle.Typeface = Constants.COMMONFONT; androidGiTitle.SetTextSize(Android.Util.ComplexUnitType.Fraction, 100); androidGiTitle.SetTextColor(Android.Graphics.Color.Black); androidGiTitle.Gravity = Android.Views.GravityFlags.Start; androidGiTitle.SetTypeface(androidGiTitle.Typeface, Android.Graphics.TypefaceStyle.Bold); androidGiPrice = new Android.Widget.TextView(MainApplication.ActivityContext); androidGiPrice.Text = "$19.99"; androidGiPrice.Typeface = Constants.COMMONFONT; androidGiPrice.SetTextSize(Android.Util.ComplexUnitType.Fraction, 100); androidGiPrice.SetTextColor(Android.Graphics.Color.Black); androidGiPrice.Gravity = Android.Views.GravityFlags.Start; androidGiPrice.SetTypeface(androidGiPrice.Typeface, Android.Graphics.TypefaceStyle.Bold); androidGiBody = new Android.Widget.TextView(MainApplication.ActivityContext); androidGiBody.Typeface = Constants.COMMONFONT; androidGiBody.Text = "This library is growing constantly and there is no end in sight. The beauty of this package is that you get to follow our system as we develop and implement new transitions and positions. We’re constantly pushing the barrier in terms of our style and approach to Jiu-Jitsu. Every position that gets posted has been drilled to death and executed at the highest levels of competition. We’re proud of this; something I see wrong with other instructional resources is positions are shown that I know they have never ever hit in a competition or anything. You never have to worry about that with our techniques. One of the biggest advantages of our app is that you have direct access to us, if you have any questions or concerns; contacting us is a click away. Let’s grow and develop our Jiu Jitsu together!"; androidGiBody.SetTextSize(Android.Util.ComplexUnitType.Fraction, 50); androidGiBody.SetTextColor(Android.Graphics.Color.Black); androidGiBody.Gravity = Android.Views.GravityFlags.Start; androidGiBody.SetTypeface(androidGiBody.Typeface, Android.Graphics.TypefaceStyle.Bold); #endif #endregion #region NOGI noGiTitle = new Label { #if __IOS__ FontFamily = "AmericanTypewriter-Bold", FontSize = lblSize * 2, #endif #if __ANDROID__ FontFamily = "Roboto Bold", FontSize = lblSize * 1.5, #endif Text = "No-Gi", TextColor = Color.Black, FontAttributes = FontAttributes.Bold }; noGiPrice = new Label { #if __IOS__ FontFamily = "AmericanTypewriter-Bold", FontSize = lblSize * 1.5, #endif #if __ANDROID__ FontFamily = "Roboto Bold", FontSize = lblSize * 1.5, #endif Text = "$19.99 (One Time Purchase)", TextColor = Color.Black, FontAttributes = FontAttributes.Bold }; noGiBody = new Label { #if __IOS__ FontFamily = "AmericanTypewriter-Bold", FontSize = lblSize, #endif #if __ANDROID__ FontFamily = "Roboto Bold", FontSize = lblSize, #endif Text = "Just like the other packages, the No-Gi library is constantly being updated. So that means you’ll grow along with us. As we come up with new tweaks and transitions you’ll see it first as we are constantly updating our libraries. Through these techniques and positions your game will be brought to a new technical level. All the while being exposed to a unique point of view on approaching Jiu Jitsu. Some of the biggest advantages of this package is that you have direct access to us, the ones who implement and recorded these techniques. We love to hear from our members and never ignore anyone. Lets grow together!", TextColor = Color.Black, FontAttributes = FontAttributes.Bold }; noGiImage = new Image { Source = "nogi6.jpeg", Aspect = Aspect.AspectFit }; noGiImageFrame = new Frame { BorderColor = Color.Black, BackgroundColor = Color.Black, Padding = 2, Content = noGiImage, HasShadow = false }; noGiTap = new TapGestureRecognizer(); noGiTap.Tapped += async(sender, e) => { ToggleButtons(); await Navigation.PushModalAsync(new AccountInfoPage(Package.NoGi)); ToggleButtons(); }; noGiStackLayout.GestureRecognizers.Add(noGiTap); noGiScrollView = new ScrollView { Content = noGiStackLayout, BackgroundColor = Color.FromRgb(57, 172, 166), #if __ANDROID__ IsClippedToBounds = true, Padding = new Thickness(5, 5, 5, 0) #endif }; noGiFrame = new Frame { BorderColor = Color.Black, BackgroundColor = Color.Black, #if __ANDROID__ Padding = 0, #endif #if __IOS__ Padding = 5, #endif Content = noGiScrollView, HasShadow = false }; #if __ANDROID__ androidNoGiTitle = new Android.Widget.TextView(MainApplication.ActivityContext); androidNoGiTitle.Text = "No-Gi"; androidNoGiTitle.Typeface = Constants.COMMONFONT; androidNoGiTitle.SetTextSize(Android.Util.ComplexUnitType.Fraction, 100); androidNoGiTitle.SetTextColor(Android.Graphics.Color.Black); androidNoGiTitle.Gravity = Android.Views.GravityFlags.Start; androidNoGiTitle.SetTypeface(androidNoGiTitle.Typeface, Android.Graphics.TypefaceStyle.Bold); androidNoGiPrice = new Android.Widget.TextView(MainApplication.ActivityContext); androidNoGiPrice.Text = "$19.99"; androidNoGiPrice.Typeface = Constants.COMMONFONT; androidNoGiPrice.SetTextSize(Android.Util.ComplexUnitType.Fraction, 100); androidNoGiPrice.SetTextColor(Android.Graphics.Color.Black); androidNoGiPrice.Gravity = Android.Views.GravityFlags.Start; androidNoGiPrice.SetTypeface(androidNoGiPrice.Typeface, Android.Graphics.TypefaceStyle.Bold); androidNoGiBody = new Android.Widget.TextView(MainApplication.ActivityContext); androidNoGiBody.Text = "Just like the other packages, the No-Gi library is constantly being updated. So that means you’ll grow along with us. As we come up with new tweaks and transitions you’ll see it first as we are constantly updating our libraries. Through these techniques and positions your game will be brought to a new technical level. All the while being exposed to a unique point of view on approaching Jiu Jitsu. Some of the biggest advantages of this package is that you have direct access to us, the ones who implement and recorded these techniques. We love to hear from our members and never ignore anyone. Lets grow together!"; androidNoGiBody.SetTextSize(Android.Util.ComplexUnitType.Fraction, 50); androidNoGiBody.Typeface = Constants.COMMONFONT; androidNoGiBody.SetTextColor(Android.Graphics.Color.Black); androidNoGiBody.Gravity = Android.Views.GravityFlags.Start; androidNoGiBody.SetTypeface(androidNoGiBody.Typeface, Android.Graphics.TypefaceStyle.Bold); #endif #endregion #region GIANDNOGI giAndNoGiTitle = new Label { #if __IOS__ FontFamily = "AmericanTypewriter-Bold", FontSize = lblSize * 2, #endif #if __ANDROID__ FontFamily = "Roboto Bold", FontSize = lblSize * 1.5, #endif Text = "Complete Jiu-Jitsu", TextColor = Color.Black, FontAttributes = FontAttributes.Bold }; giAndNoGiPrice = new Label { #if __IOS__ FontFamily = "AmericanTypewriter-Bold", FontSize = lblSize * 1.5, #endif #if __ANDROID__ FontFamily = "Roboto Bold", FontSize = lblSize * 1.5, #endif Text = "$29.99 (One Time Purchase)", TextColor = Color.Black, FontAttributes = FontAttributes.Bold }; giAndNoGiBody = new Label { #if __IOS__ FontFamily = "AmericanTypewriter-Bold", FontSize = lblSize, #endif #if __ANDROID__ FontFamily = "Roboto Bold", FontSize = lblSize, #endif Text = "This package is the best of both worlds. Whenever any Jiu Jitsu position is uploaded to our database, you’ll get to see it right away. No other Jiu Jitsu apps post a disciplined system like this that gives you direct access to the ones who create, record and execute these techniques at the highest levels of competition. We love Jiu Jitsu and love sharing it with those who want to learn, we live the Jiu Jitsu lifestyle and want to share our unique point of view. At its core our Jiu-Jitsu is an emphasis on solid fundamentals building upon each other to open doors to unique transitions and timings in relation to our style and preferences. Think of this package as having an extra coach to help develop your game. For example: you see a technique on our app and try to work it in training. It goes terribly wrong and you email us in one click from the app. We see your concern and get back to you as soon as we can to help you get it down better. This happens all the time and we love it; anything we can do to help you get better. Let’s grow and develop our game together!", TextColor = Color.Black, FontAttributes = FontAttributes.Bold }; giAndNoGiImage = new Image { Source = "sweep.JPG", Aspect = Aspect.AspectFit }; giAndNoGiImageFrame = new Frame { BorderColor = Color.Black, BackgroundColor = Color.Black, Padding = 2, Content = giAndNoGiImage, HasShadow = false }; giAndNoGiTap = new TapGestureRecognizer(); giAndNoGiTap.Tapped += async(sender, e) => { ToggleButtons(); await Navigation.PushModalAsync(new AccountInfoPage(Package.GiAndNoGi)); ToggleButtons(); }; giAndNoGiStackLayout.GestureRecognizers.Add(giAndNoGiTap); giAndNoGiScrollView = new ScrollView { Content = giAndNoGiStackLayout, BackgroundColor = Color.FromRgb(57, 172, 166), #if __ANDROID__ IsClippedToBounds = true, Padding = new Thickness(5, 5, 5, 0) #endif }; giAndNoGiFrame = new Frame { BorderColor = Color.Black, BackgroundColor = Color.Black, #if __ANDROID__ Padding = 0, #endif #if __IOS__ Padding = 5, #endif HasShadow = false, Content = giAndNoGiScrollView }; #if __ANDROID__ androidGiAndNoGiTitle = new Android.Widget.TextView(MainApplication.ActivityContext); androidGiAndNoGiTitle.Text = "Complete Jiu-Jitsu"; androidGiAndNoGiTitle.Typeface = Constants.COMMONFONT; androidGiAndNoGiTitle.SetTextSize(Android.Util.ComplexUnitType.Fraction, 100); androidGiAndNoGiTitle.SetTextColor(Android.Graphics.Color.Black); androidGiAndNoGiTitle.Gravity = Android.Views.GravityFlags.Start; androidGiAndNoGiTitle.SetTypeface(androidGiAndNoGiTitle.Typeface, Android.Graphics.TypefaceStyle.Bold); androidGiAndNoGiPrice = new Android.Widget.TextView(MainApplication.ActivityContext); androidGiAndNoGiPrice.Text = "$29.99"; androidGiAndNoGiPrice.Typeface = Constants.COMMONFONT; androidGiAndNoGiPrice.SetTextSize(Android.Util.ComplexUnitType.Fraction, 100); androidGiAndNoGiPrice.SetTextColor(Android.Graphics.Color.Black); androidGiAndNoGiPrice.Gravity = Android.Views.GravityFlags.Start; androidGiAndNoGiPrice.SetTypeface(androidGiAndNoGiPrice.Typeface, Android.Graphics.TypefaceStyle.Bold); androidGiAndNoGiBody = new Android.Widget.TextView(MainApplication.ActivityContext); androidGiAndNoGiBody.Text = "This package is the best of both worlds. Whenever any Jiu Jitsu position is uploaded to our database, you’ll get to see it right away. No other Jiu Jitsu apps post a disciplined system like this that gives you direct access to the ones who create, record and execute these techniques at the highest levels of competition. We love Jiu Jitsu and love sharing it with those who want to learn, we live the Jiu Jitsu lifestyle and want to share our unique point of view. At its core our Jiu-Jitsu is an emphasis on solid fundamentals building upon each other to open doors to unique transitions and timings in relation to our style and preferences. Think of this package as having an extra coach to help develop your game. For example: you see a technique on our app and try to work it in training. It goes terribly wrong and you email us in one click from the app. We see your concern and get back to you as soon as we can to help you get it down better. This happens all the time and we love it; anything we can do to help you get better. Let’s grow and develop our game together!"; androidGiAndNoGiBody.SetTextSize(Android.Util.ComplexUnitType.Fraction, 50); androidGiAndNoGiBody.Typeface = Constants.COMMONFONT; androidGiAndNoGiBody.SetTextColor(Android.Graphics.Color.Black); androidGiAndNoGiBody.Gravity = Android.Views.GravityFlags.Start; androidGiAndNoGiBody.SetTypeface(androidGiAndNoGiBody.Typeface, Android.Graphics.TypefaceStyle.Bold); #endif #endregion outerGrid = new Grid { RowDefinitions = new RowDefinitionCollection { new RowDefinition { Height = new GridLength(1, GridUnitType.Star) } } }; #if __ANDROID__ innerGrid = new Grid { RowDefinitions = new RowDefinitionCollection { new RowDefinition { Height = new GridLength(3, GridUnitType.Star) }, new RowDefinition { Height = new GridLength(3, GridUnitType.Star) }, new RowDefinition { Height = new GridLength(3, GridUnitType.Star) }, } }; #endif #if __IOS__ innerGrid = new Grid { RowDefinitions = new RowDefinitionCollection { new RowDefinition { Height = new GridLength(3, GridUnitType.Star) }, new RowDefinition { Height = new GridLength(3, GridUnitType.Star) }, new RowDefinition { Height = new GridLength(3, GridUnitType.Star) }, new RowDefinition { Height = new GridLength(1, GridUnitType.Star) } } }; #endif //events backBtn.Clicked += (object sender, EventArgs e) => { backBtn.IsEnabled = false; Navigation.PopModalAsync(); backBtn.IsEnabled = true; }; }
private void BuildPageObjects() { var btnSize = Device.GetNamedSize(NamedSize.Large, typeof(Button)); var lblSize = Device.GetNamedSize(NamedSize.Large, typeof(Label)); innerGrid = new Grid(); #if __ANDROID__ innerGrid.RowDefinitions.Add(new RowDefinition { Height = new GridLength(6, GridUnitType.Star) }); innerGrid.RowDefinitions.Add(new RowDefinition { Height = new GridLength(1, GridUnitType.Star) }); innerGrid.RowDefinitions.Add(new RowDefinition { Height = new GridLength(1, GridUnitType.Star) }); #endif #if __IOS__ innerGrid.RowDefinitions.Add(new RowDefinition { Height = new GridLength(4, GridUnitType.Star) }); innerGrid.RowDefinitions.Add(new RowDefinition { Height = new GridLength(1, GridUnitType.Star) }); innerGrid.RowDefinitions.Add(new RowDefinition { Height = new GridLength(1, GridUnitType.Star) }); innerGrid.RowDefinitions.Add(new RowDefinition { Height = new GridLength(1, GridUnitType.Star) }); #endif outerGrid = new Grid(); outerGrid.RowDefinitions.Add(new RowDefinition { Height = new GridLength(1, GridUnitType.Star) }); accountTitle = new Label(); accountTitle.FontFamily = "AmericanTypewriter-Bold"; accountTitle.FontSize = lblSize * 2; accountTitle.Text = "Mahecha BJJ Account"; accountTitle.TextColor = Color.Black; accountTitle.FontAttributes = FontAttributes.Bold; accountInfo = new Label(); accountInfo.FontFamily = "AmericanTypewriter-Bold"; accountInfo.FontSize = lblSize; accountInfo.Text = "-Ability to create and manage you're own playlists.\n-Access to Mahecha BJJ Web Application(Coming soon)"; accountInfo.TextColor = Color.Black; accountBtn = new Button(); accountBtn.Style = (Style)Application.Current.Resources["common-blue-btn"]; accountBtn.FontFamily = "AmericanTypewriter-Bold"; accountBtn.FontSize = btnSize * 2; accountBtn.Text = "Create"; accountBtn.Clicked += async(sender, e) => { ToggleButtons(); await Navigation.PushModalAsync(new SignUpPage(package)); ToggleButtons(); }; noAccountBtn = new Button(); noAccountBtn.Style = (Style)Application.Current.Resources["common-red-btn"]; noAccountBtn.FontFamily = "AmericanTypewriter-Bold"; noAccountBtn.FontSize = btnSize * 2; noAccountBtn.Text = "No Account"; noAccountBtn.Clicked += async(object sender, EventArgs e) => { ToggleButtons(); await Navigation.PushModalAsync(new SummaryPage(package)); ToggleButtons(); }; backBtn = new Button(); backBtn.Style = (Style)Application.Current.Resources["common-red-btn"]; backBtn.Image = "back.png"; backBtn.VerticalOptions = LayoutOptions.FillAndExpand; backBtn.HorizontalOptions = LayoutOptions.FillAndExpand; backBtn.Clicked += async(object sender, EventArgs e) => { ToggleButtons(); await Navigation.PopModalAsync(); ToggleButtons(); }; #if __ANDROID__ var pd = new PaintDrawable(Android.Graphics.Color.Rgb(58, 93, 174)); pd.SetCornerRadius(100); androidNoAccountBtn = new Android.Widget.Button(MainApplication.ActivityContext); androidNoAccountBtn.Text = "No Account"; androidNoAccountBtn.Typeface = Constants.COMMONFONT; androidNoAccountBtn.SetAutoSizeTextTypeWithDefaults(Android.Widget.AutoSizeTextType.Uniform); androidNoAccountBtn.SetBackground(pd); androidNoAccountBtn.SetTextColor(Android.Graphics.Color.Rgb(242, 253, 255)); androidNoAccountBtn.Gravity = Android.Views.GravityFlags.Center; androidNoAccountBtn.Click += async(object sender, EventArgs e) => { ToggleButtons(); await Navigation.PushModalAsync(new SummaryPage(package)); ToggleButtons(); }; androidNoAccountBtn.SetAllCaps(false); androidAccountBtn = new Android.Widget.Button(MainApplication.ActivityContext); androidAccountBtn.Text = "Create"; androidAccountBtn.Typeface = Constants.COMMONFONT; androidAccountBtn.SetAutoSizeTextTypeWithDefaults(Android.Widget.AutoSizeTextType.Uniform); androidAccountBtn.SetBackground(pd); androidAccountBtn.SetTextColor(Android.Graphics.Color.Rgb(242, 253, 255)); androidAccountBtn.Gravity = Android.Views.GravityFlags.Center; androidAccountBtn.Click += async(object sender, EventArgs e) => { ToggleButtons(); await Navigation.PushModalAsync(new SignUpPage(package)); ToggleButtons(); }; androidAccountBtn.SetAllCaps(false); androidAccountTitle = new Android.Widget.TextView(MainApplication.ActivityContext); androidAccountTitle.Text = "Mahecha BJJ Account"; androidAccountTitle.Typeface = Constants.COMMONFONT; androidAccountTitle.SetTextSize(Android.Util.ComplexUnitType.Fraction, 100); androidAccountTitle.SetTextColor(Android.Graphics.Color.Black); androidAccountTitle.Gravity = Android.Views.GravityFlags.Center; androidAccountTitle.SetTypeface(androidAccountTitle.Typeface, Android.Graphics.TypefaceStyle.Bold); androidAccountInfo = new Android.Widget.TextView(MainApplication.ActivityContext); androidAccountInfo.Text = "-Ability to create and manage you're own playlists.\n-Access to Mahecha BJJ Web Application(Coming soon)"; androidAccountInfo.SetTextSize(Android.Util.ComplexUnitType.Fraction, 75); androidAccountInfo.Typeface = Constants.COMMONFONT; androidAccountInfo.SetTextColor(Android.Graphics.Color.Black); androidAccountInfo.Gravity = Android.Views.GravityFlags.Start; #endif }