public void InitializeLayoutParadigm(View view) { primaryLibraryGridViewTop = view.FindViewById <LibraryGridView>(Resource.Id.primaryLibraryGridView1); primaryLibraryGridViewBottom = view.FindViewById <LibraryGridView>(Resource.Id.primaryLibraryGridView2); secondaryLibraryGridViewTop = view.FindViewById <LibraryGridView>(Resource.Id.secondaryLibraryGridView1); secondaryLibraryGridViewBottom = view.FindViewById <LibraryGridView>(Resource.Id.secondaryLibraryGridView2); primaryLibraryTextView = view.FindViewById <TextView>(Resource.Id.primaryLibraryTitle); secondaryLibraryTextView = view.FindViewById <TextView>(Resource.Id.secondaryLibraryTitle); Typeface face = Typeface.CreateFromAsset(Activity.Assets, "fonts/Roboto-Light.ttf"); primaryLibraryTextView.SetTypeface(face, TypefaceStyle.Normal); secondaryLibraryTextView.SetTypeface(face, TypefaceStyle.Normal); ViewGroup primaryContainer = (ViewGroup)primaryLibraryGridViewBottom.Parent; ViewGroup secondaryContainer = (ViewGroup)secondaryLibraryGridViewBottom.Parent; // Remove or keep views if (LibraryMode != Library.Bible) { primaryContainer.RemoveView(primaryLibraryGridViewBottom); secondaryContainer.RemoveView(secondaryLibraryGridViewBottom); if (LibraryMode == Library.Insight) { secondaryContainer.RemoveView(secondaryLibraryGridViewTop); secondaryContainer.RemoveView(secondaryLibraryGridViewBottom); secondaryContainer.RemoveView(view.FindViewById <TextView>(Resource.Id.secondaryLibraryTitle)); } } // Remove unwanted views primaryContainer.RemoveView(primaryLibraryTextView); secondaryContainer.RemoveView(secondaryLibraryTextView); secondaryContainer.RemoveView(secondaryLibraryGridViewTop); secondaryContainer.RemoveView(secondaryLibraryGridViewBottom); secondaryContainer.RemoveView(view.FindViewById <TextView>(Resource.Id.secondaryLibraryTitle)); // Add click listener to gridviews if none primaryLibraryGridViewTop.ItemClick += LibraryGridView_Click; primaryLibraryGridViewBottom.ItemClick += LibraryGridView_Click; secondaryLibraryGridViewTop.ItemClick += LibraryGridView_Click; secondaryLibraryGridViewBottom.ItemClick += LibraryGridView_Click; UpdateUI(); }
public LibraryGridViewListener(LibraryGridView paramLibraryGridView, int paramInt) { this.paramLibraryGridView = paramLibraryGridView; this.paramInt = paramInt; }
public void DoLayout(int w) { try { if (Device.RuntimePlatform == Device.Windows) { FlowLayout_SizeChanged(HebrewFlowLayout, null); FlowLayout_SizeChanged(GreekFlowLayout, null); //Debug.WriteLine("REAL SIZE => " + App.GetRealSize(width)); //Debug.WriteLine("SIZE => " + width); // ADJUST PADDING if (w > 600) { LibraryGrid.Padding = new Thickness(40, 0, 40, 40); } else { LibraryGrid.Padding = new Thickness(15, 0, 15, 15); } // LAYOUT OF THE FLOWLAYOUTS // STACK VERTICALLY if (w < 1160) { VerticalLibraryGrid(); } // STACK HORIZONTALLY else if (w >= 1160 && w < 1565) { HorizontalLibraryGrid(); } //STATIC COLUMN WIDTHS else { LibraryGrid.ColumnDefinitions[0].Width = new GridLength(806); LibraryGrid.ColumnDefinitions[1].Width = new GridLength(605); } } else if (Device.RuntimePlatform == Device.iOS) { FlowLayout_SizeChanged(HebrewFlowLayout, null); FlowLayout_SizeChanged(GreekFlowLayout, null); // ADJUST PADDING if (Device.Idiom == TargetIdiom.Phone) { var p = App.GetRealSize(5); LibraryGrid.Padding = new Thickness(p, 0, p, p); } else { var p = App.GetRealSize(10); LibraryGrid.Padding = new Thickness(p, 0, p, p); } // LAYOUT OF THE FLOWLAYOUTS // STACK HORIZONTALLY if (Objects.Orientation.Landscape) { VerticalLibraryGrid(); } // STACK VERTICALLY else { VerticalLibraryGrid(); } } else if (Device.RuntimePlatform == Device.Android) { // XFVisualTreeHelper.FindTemplateElementByName will not work with custom controls ScrollView mainScrollView = XFVisualTreeHelper.FindTemplateElementByName <ScrollView>(this, "MainScrollView"); Grid libraryGrid = XFVisualTreeHelper.FindTemplateElementByName <Grid>(this, "LibraryGrid"); LibraryGridView hebrewFlowLayout = (LibraryGridView)XFVisualTreeHelper.FindTemplateElementByName <View>(this, "HebrewGridLayout"); LibraryGridView greekFlowLayout = (LibraryGridView)XFVisualTreeHelper.FindTemplateElementByName <View>(this, "GreekGridLayout"); StackLayout primary = XFVisualTreeHelper.FindTemplateElementByName <StackLayout>(this, "Primary"); StackLayout secondary = XFVisualTreeHelper.FindTemplateElementByName <StackLayout>(this, "Secondary"); primary.HorizontalOptions = LayoutOptions.CenterAndExpand; secondary.HorizontalOptions = LayoutOptions.CenterAndExpand; // ADJUST PADDING if (w >= App.GetRealSize(500)) { var p = App.GetRealSize(32) / 2; mainScrollView.Padding = new Thickness(p, 0, p, p); } else { var p = App.GetRealSize(8) / 2; mainScrollView.Padding = new Thickness(p, 0, p, p); } // LAYOUT OF THE FLOWLAYOUTS // STACK VERTICALLY if (w < 1160) { libraryGrid.ColumnDefinitions[0].Width = GridLength.Auto; libraryGrid.ColumnDefinitions[1].Width = new GridLength(0); libraryGrid.RowDefinitions[0].Height = GridLength.Auto; libraryGrid.RowDefinitions[1].Height = GridLength.Auto; Grid.SetRow(primary, 0); Grid.SetColumn(primary, 0); Grid.SetRow(secondary, 1); Grid.SetColumn(secondary, 0); libraryGrid.ColumnSpacing = 0; libraryGrid.RowSpacing = 0; } // STACK HORIZONTALLY else { libraryGrid.ColumnDefinitions[0].Width = new GridLength(1, GridUnitType.Star); libraryGrid.ColumnDefinitions[1].Width = new GridLength(.75, GridUnitType.Star); libraryGrid.RowDefinitions[0].Height = GridLength.Auto; libraryGrid.RowDefinitions[1].Height = new GridLength(0); Grid.SetRow(primary, 0); Grid.SetColumn(primary, 0); Grid.SetRow(secondary, 0); Grid.SetColumn(secondary, 1); libraryGrid.ColumnSpacing = 16; libraryGrid.RowSpacing = 0; } } } catch (Exception ex) { Debug.WriteLine("EXCEPTION => " + ex.Message); } }