protected void SetupPhotoCollection() { photoCollection = new UICollectionView(CGRect.Null, new UICollectionViewFlowLayout() { ScrollDirection = UICollectionViewScrollDirection.Horizontal, ItemSize = _cellSize, SectionInset = new UIEdgeInsets(0, sectionInset, 0, sectionInset), MinimumInteritemSpacing = 10, }); photoCollection.BackgroundColor = UIColor.White; mainScroll.AddSubview(photoCollection); photoCollection.AutoPinEdgeToSuperviewEdge(ALEdge.Left); photoCollection.AutoPinEdgeToSuperviewEdge(ALEdge.Top, 30f); photoCollection.AutoPinEdgeToSuperviewEdge(ALEdge.Right); photoCollection.AutoSetDimension(ALDimension.Height, _cellSize.Height); photoCollection.AutoSetDimension(ALDimension.Width, UIScreen.MainScreen.Bounds.Width); photoCollection.Bounces = false; photoCollection.ShowsHorizontalScrollIndicator = false; photoCollection.RegisterClassForCell(typeof(PhotoGalleryCell), nameof(PhotoGalleryCell)); }
private void CreateView() { GetPostSize(); SetImage(); var photoTitleSeparator = new UIView(); photoTitleSeparator.BackgroundColor = Constants.R245G245B245; titleTextField = new UITextView(); titleTextField.ScrollEnabled = false; titleTextField.Font = Constants.Semibold14; titleEditImage = new UIImageView(); titleEditImage.Image = UIImage.FromBundle("ic_edit"); var titleDescriptionSeparator = new UIView(); titleDescriptionSeparator.BackgroundColor = Constants.R245G245B245; descriptionTextField = new UITextView(); descriptionTextField.ScrollEnabled = false; descriptionTextField.Font = Constants.Regular14; descriptionEditImage = new UIImageView(); descriptionEditImage.Image = UIImage.FromBundle("ic_edit"); var descriptionHashtagSeparator = new UIView(); descriptionHashtagSeparator.BackgroundColor = Constants.R245G245B245; tagField = new UILabel(); tagField.Text = "Hashtag"; tagField.Font = Constants.Regular14; tagField.TextColor = Constants.R151G155B158; tagField.UserInteractionEnabled = true; var tap = new UITapGestureRecognizer(OpenTagPicker); tagField.AddGestureRecognizer(tap); hashtagImage = new UIImageView(); hashtagImage.Image = UIImage.FromBundle("ic_hash"); var hashtagCollectionSeparator = new UIView(); hashtagCollectionSeparator.BackgroundColor = Constants.R245G245B245; postPhotoButton = new UIButton(); postPhotoButton.SetTitle(AppSettings.LocalizationManager.GetText(LocalizationKeys.PublishButtonText), UIControlState.Normal); postPhotoButton.SetTitle("", UIControlState.Disabled); postPhotoButton.Layer.CornerRadius = 25; postPhotoButton.TitleLabel.Font = Constants.Semibold14; postPhotoButton.TouchDown += PostPhoto; loadingView = new UIActivityIndicatorView(); loadingView.Color = UIColor.White; loadingView.HidesWhenStopped = true; mainScroll.Bounces = false; mainScroll.AddSubview(photoTitleSeparator); mainScroll.AddSubview(titleTextField); mainScroll.AddSubview(titleEditImage); mainScroll.AddSubview(titleDescriptionSeparator); mainScroll.AddSubview(descriptionTextField); mainScroll.AddSubview(descriptionEditImage); mainScroll.AddSubview(descriptionHashtagSeparator); mainScroll.AddSubview(tagField); mainScroll.AddSubview(hashtagImage); mainScroll.AddSubview(hashtagCollectionSeparator); mainScroll.AddSubview(tagsCollectionView); mainScroll.AddSubview(postPhotoButton); mainScroll.AddSubview(loadingView); if (photoView != null) { photoTitleSeparator.AutoPinEdge(ALEdge.Top, ALEdge.Bottom, photoView, 15f); } else { photoTitleSeparator.AutoPinEdge(ALEdge.Top, ALEdge.Bottom, photoCollection, 15f); } photoTitleSeparator.AutoPinEdgeToSuperviewEdge(ALEdge.Left, _separatorMargin); photoTitleSeparator.AutoPinEdgeToSuperviewEdge(ALEdge.Right, _separatorMargin); photoTitleSeparator.AutoSetDimension(ALDimension.Height, 1f); photoTitleSeparator.AutoSetDimension(ALDimension.Width, UIScreen.MainScreen.Bounds.Width - _separatorMargin * 2); titleTextField.AutoPinEdge(ALEdge.Top, ALEdge.Bottom, photoTitleSeparator, 17f); titleTextField.AutoPinEdge(ALEdge.Left, ALEdge.Left, photoTitleSeparator, -5f); titleEditImage.AutoSetDimensionsToSize(new CGSize(18, 18)); titleEditImage.AutoPinEdge(ALEdge.Right, ALEdge.Right, photoTitleSeparator); titleEditImage.AutoPinEdge(ALEdge.Left, ALEdge.Right, titleTextField, 5f); titleEditImage.AutoAlignAxis(ALAxis.Horizontal, titleTextField); titleDescriptionSeparator.AutoPinEdge(ALEdge.Top, ALEdge.Bottom, titleTextField, 17f); titleDescriptionSeparator.AutoPinEdge(ALEdge.Left, ALEdge.Left, photoTitleSeparator); titleDescriptionSeparator.AutoPinEdge(ALEdge.Right, ALEdge.Right, photoTitleSeparator); titleDescriptionSeparator.AutoSetDimension(ALDimension.Height, 1f); descriptionTextField.AutoPinEdge(ALEdge.Top, ALEdge.Bottom, titleDescriptionSeparator, 17f); descriptionTextField.AutoPinEdge(ALEdge.Left, ALEdge.Left, photoTitleSeparator, -5f); descriptionEditImage.AutoSetDimensionsToSize(new CGSize(18, 18)); descriptionEditImage.AutoPinEdge(ALEdge.Right, ALEdge.Right, photoTitleSeparator); descriptionEditImage.AutoPinEdge(ALEdge.Left, ALEdge.Right, descriptionTextField, 5f); descriptionEditImage.AutoAlignAxis(ALAxis.Horizontal, descriptionTextField); descriptionHashtagSeparator.AutoPinEdge(ALEdge.Top, ALEdge.Bottom, descriptionTextField, 17f); descriptionHashtagSeparator.AutoPinEdge(ALEdge.Left, ALEdge.Left, photoTitleSeparator); descriptionHashtagSeparator.AutoPinEdge(ALEdge.Right, ALEdge.Right, photoTitleSeparator); descriptionHashtagSeparator.AutoSetDimension(ALDimension.Height, 1f); tagField.AutoPinEdge(ALEdge.Top, ALEdge.Bottom, descriptionHashtagSeparator); tagField.AutoPinEdge(ALEdge.Left, ALEdge.Left, photoTitleSeparator); tagField.AutoSetDimension(ALDimension.Height, 70f); hashtagImage.AutoSetDimensionsToSize(new CGSize(15, 17)); hashtagImage.AutoPinEdge(ALEdge.Right, ALEdge.Right, photoTitleSeparator); hashtagImage.AutoPinEdge(ALEdge.Left, ALEdge.Right, tagField, 5f); hashtagImage.AutoAlignAxis(ALAxis.Horizontal, tagField); hashtagCollectionSeparator.AutoPinEdge(ALEdge.Top, ALEdge.Bottom, tagField); hashtagCollectionSeparator.AutoPinEdge(ALEdge.Left, ALEdge.Left, photoTitleSeparator); hashtagCollectionSeparator.AutoPinEdge(ALEdge.Right, ALEdge.Right, photoTitleSeparator); hashtagCollectionSeparator.AutoSetDimension(ALDimension.Height, 1f); tagsCollectionView.AutoPinEdge(ALEdge.Top, ALEdge.Bottom, hashtagCollectionSeparator, 25f); tagsCollectionView.AutoPinEdge(ALEdge.Left, ALEdge.Left, photoTitleSeparator); tagsCollectionView.AutoPinEdge(ALEdge.Right, ALEdge.Right, photoTitleSeparator); tagsCollectionHeight = tagsCollectionView.AutoSetDimension(ALDimension.Height, 0f); postPhotoButton.AutoPinEdge(ALEdge.Top, ALEdge.Bottom, tagsCollectionView, 40f); postPhotoButton.AutoPinEdge(ALEdge.Left, ALEdge.Left, photoTitleSeparator); postPhotoButton.AutoPinEdge(ALEdge.Right, ALEdge.Right, photoTitleSeparator); postPhotoButton.AutoPinEdgeToSuperviewEdge(ALEdge.Bottom, 35f); postPhotoButton.AutoSetDimension(ALDimension.Height, 50f); loadingView.AutoAlignAxis(ALAxis.Horizontal, postPhotoButton); loadingView.AutoAlignAxis(ALAxis.Vertical, postPhotoButton); }
private void SetupCardsCollection() { var cellProportion = 240f / 335f; var cellSize = new CGSize(UIScreen.MainScreen.Bounds.Width - 20f * 2f, (UIScreen.MainScreen.Bounds.Width - 20f * 2f) * cellProportion); var cardProportion = 190f / 335f; var cardCenter = ((UIScreen.MainScreen.Bounds.Width - 20f * 2f) * cardProportion / 2) + 20; var cardBottom = ((UIScreen.MainScreen.Bounds.Width - 20f * 2f) * cardProportion) + 25; _cardBehind.BackgroundColor = UIColor.FromRGB(255, 255, 255); _cardBehind.Layer.CornerRadius = 16; Constants.CreateShadowFromZeplin(_cardBehind, UIColor.FromRGB(0, 0, 0), 0.03f, 0, 1, 1, 0); AddSubview(_cardBehind); _cardBehind.AutoPinEdgeToSuperviewEdge(ALEdge.Top, cardCenter); _cardBehind.AutoPinEdgeToSuperviewEdge(ALEdge.Left, 10); _cardBehind.AutoPinEdgeToSuperviewEdge(ALEdge.Right, 10); _cardBehind.AutoSetDimension(ALDimension.Height, cardCenter + 115); _cardsCollection = new UICollectionView(CGRect.Null, new SliderFlowLayout() { ScrollDirection = UICollectionViewScrollDirection.Horizontal, ItemSize = cellSize, MinimumLineSpacing = 10, SectionInset = new UIEdgeInsets(0, 20, 0, 20), }) { BackgroundColor = UIColor.Clear }; _cardsCollection.RegisterClassForCell(typeof(CardShimmerCollectionView), nameof(CardShimmerCollectionView)); _cardsCollection.RegisterClassForCell(typeof(CardCollectionViewCell), nameof(CardCollectionViewCell)); AddSubview(_cardsCollection); _cardsCollection.AutoPinEdgeToSuperviewEdge(ALEdge.Top, 20); _cardsCollection.AutoPinEdgeToSuperviewEdge(ALEdge.Left); _cardsCollection.AutoPinEdgeToSuperviewEdge(ALEdge.Right); _cardsCollection.AutoSetDimension(ALDimension.Height, cellSize.Height); _cardsGridDelegate.CardsScrolled += () => { var pageWidth = cellSize.Width + 20; _pageControl.CurrentPage = (int)Math.Floor((_cardsCollection.ContentOffset.X - pageWidth / 2) / pageWidth) + 1; }; _cardsCollection.UserInteractionEnabled = false; _cardsCollection.DecelerationRate = UIScrollView.DecelerationRateFast; _cardsCollection.ShowsHorizontalScrollIndicator = false; _cardsCollection.Layer.MasksToBounds = false; _cardsCollection.ClipsToBounds = false; _pageControl.Pages = 5; _pageControl.PageIndicatorTintColor = UIColor.FromRGB(0, 0, 0).ColorWithAlpha(0.1f); _pageControl.CurrentPageIndicatorTintColor = UIColor.FromRGB(0, 0, 0).ColorWithAlpha(0.4f); _pageControl.UserInteractionEnabled = false; AddSubview(_pageControl); _pageControl.AutoPinEdgeToSuperviewEdge(ALEdge.Top, cardBottom); _pageControl.AutoAlignAxis(ALAxis.Vertical, _cardsCollection); transfer.Enabled = false; transfer.SetTitle("TRANSFER", UIControlState.Normal); transfer.Font = Constants.Bold14; transfer.SetTitleColor(UIColor.White, UIControlState.Normal); transfer.Layer.CornerRadius = 25; transfer.BackgroundColor = UIColor.FromRGB(230, 230, 230); transfer.ClipsToBounds = true; AddSubview(transfer); transfer.TouchDown += (object sender, EventArgs e) => { _navigationController.PushViewController(new TransferViewController(), true); }; transfer.AutoPinEdge(ALEdge.Top, ALEdge.Bottom, _pageControl, 20); transfer.AutoPinEdgeToSuperviewEdge(ALEdge.Left, 20); transfer.AutoSetDimension(ALDimension.Height, 50); more.Enabled = false; more.BackgroundColor = Constants.R250G250B250; more.SetImage(UIImage.FromBundle("ic_more"), UIControlState.Normal); more.Layer.CornerRadius = 25; more.ClipsToBounds = true; more.TouchDown += (object sender, EventArgs e) => { Popups.PowerManipulationPopup.Create(_navigationController, _presenter, async(bool response) => { if (response) { var balance = _presenter.Balances[0]; var model = new BalanceModel(0, balance.MaxDecimals, balance.CurrencyType) { UserInfo = balance.UserInfo }; await _presenter.TryPowerUpOrDown(model, PowerAction.CancelPowerDown); _presenter.UpdateWallet?.Invoke(); } }); }; AddSubview(more); more.AutoAlignAxis(ALAxis.Horizontal, transfer); more.AutoPinEdgeToSuperviewEdge(ALEdge.Right, 20); more.AutoPinEdge(ALEdge.Left, ALEdge.Right, transfer, 10); more.AutoSetDimensionsToSize(new CGSize(50, 50)); var historyLabel = new UILabel(); historyLabel.Text = "Transaction history"; historyLabel.Font = Constants.Regular20; historyLabel.TextColor = UIColor.Black; AddSubview(historyLabel); historyLabel.AutoPinEdge(ALEdge.Top, ALEdge.Bottom, _cardBehind, 27); historyLabel.AutoPinEdgeToSuperviewEdge(ALEdge.Left, 20); historyLabel.AutoPinEdgeToSuperviewEdge(ALEdge.Bottom); }