public override void OnViewCreated(View view, Bundle savedInstanceState) { if (IsInitialized) { return; } base.OnViewCreated(view, savedInstanceState); TagEdit.Hint = AppSettings.LocalizationManager.GetText(LocalizationKeys.Hashtag); TagEdit.SetFilters(new IInputFilter[] { new TextInputFilter(TextInputFilter.TagFilter), new InputFilterLengthFilter(40) }); TagLabel.Text = AppSettings.LocalizationManager.GetText(LocalizationKeys.Hashtag); Title.Hint = AppSettings.LocalizationManager.GetText(LocalizationKeys.EnterPostTitle); Description.Hint = AppSettings.LocalizationManager.GetText(LocalizationKeys.EnterPostDescription); PostButton.Text = AppSettings.LocalizationManager.GetText(LocalizationKeys.PublishButtonText); PageTitle.Text = AppSettings.LocalizationManager.GetText(LocalizationKeys.PostSettings); PageTitle.Typeface = Style.Semibold; Title.Typeface = Style.Regular; Description.Typeface = Style.Regular; PostButton.Typeface = Style.Semibold; TagLabel.Typeface = Style.Regular; PostButton.Click += OnPost; PostButton.Enabled = true; TopPanel.BringToFront(); LocalTagsList.SetLayoutManager(new LinearLayoutManager(Activity, LinearLayoutManager.Horizontal, false)); LocalTagsAdapter.Click += LocalTagsAdapterClick; LocalTagsList.SetAdapter(LocalTagsAdapter); LocalTagsList.AddItemDecoration(new ListItemDecoration((int)TypedValue.ApplyDimension(ComplexUnitType.Dip, 15, Resources.DisplayMetrics))); var client = App.MainChain == KnownChains.Steem ? App.SteemClient : App.GolosClient; _tagPickerFacade = new TagPickerFacade(_localTagsAdapter.LocalTags); _tagPickerFacade.SetClient(client); _tagPickerFacade.SourceChanged += TagPickerFacadeOnSourceChanged; _postSearchTagsAdapter = new PostSearchTagsAdapter(_tagPickerFacade); TagsList.SetLayoutManager(new LinearLayoutManager(Activity)); _postSearchTagsAdapter.Click += OnTagsAdapterClick; TagsList.SetAdapter(_postSearchTagsAdapter); TagLabel.Click += TagLabelOnClick; TagEdit.TextChanged += OnTagOnTextChanged; TagEdit.KeyboardDownEvent += HideTagsList; TagEdit.OkKeyEvent += HideTagsList; ClearEdit.Click += (sender, args) => TagEdit.Text = string.Empty; BackButton.Click += OnBack; RootLayout.Click += OnRootLayoutClick; Timer = new Timer(OnTimer); Model = new PreparePostModel(AppSettings.User.UserInfo, AppSettings.AppInfo.GetModel()); }
public override void ViewDidLoad() { base.ViewDidLoad(); _tagPickerFacade = new TagPickerFacade(_viewSource.LocalTags); _tagPickerFacade.SourceChanged += SourceChanged; NavigationController.NavigationBar.SetBackgroundImage(new UIImage(), UIBarMetrics.Default); NavigationController.NavigationBar.ShadowImage = new UIImage(); tagsCollectionView.RegisterClassForCell(typeof(LocalTagCollectionViewCell), nameof(LocalTagCollectionViewCell)); tagsCollectionView.RegisterNibForCell(UINib.FromName(nameof(LocalTagCollectionViewCell), NSBundle.MainBundle), nameof(LocalTagCollectionViewCell)); tagsCollectionView.SetCollectionViewLayout(new UICollectionViewFlowLayout() { ScrollDirection = UICollectionViewScrollDirection.Horizontal, SectionInset = new UIEdgeInsets(0, 15, 0, 15), }, false); tagsCollectionView.Source = _viewSource; tagsCollectionView.Delegate = _flowDelegate; tagsCollectionView.BackgroundColor = UIColor.White; _tagField = new SearchTextField(() => { AddLocalTag(_tagField.Text); }); View.AddSubview(_tagField); _tagField.ClearButtonTapped += () => { OnTimer(null); }; _tagField.AutoPinEdgeToSuperviewEdge(ALEdge.Top, 10f); _tagField.AutoPinEdgeToSuperviewEdge(ALEdge.Left, 15f); _tagField.AutoPinEdgeToSuperviewEdge(ALEdge.Right, 15f); tagsCollectionView.AutoPinEdge(ALEdge.Top, ALEdge.Bottom, _tagField, 20f); _tagField.AutoSetDimension(ALDimension.Height, 40f); var tap = new UITapGestureRecognizer(() => { _tagField.ResignFirstResponder(); }); View.AddGestureRecognizer(tap); _tableSource = new TagsTableViewSource(_tagPickerFacade); tagsTableView.Source = _tableSource; tagsTableView.LayoutMargins = UIEdgeInsets.Zero; tagsTableView.RegisterClassForCellReuse(typeof(TagTableViewCell), nameof(TagTableViewCell)); tagsTableView.RegisterNibForCellReuse(UINib.FromName(nameof(TagTableViewCell), NSBundle.MainBundle), nameof(TagTableViewCell)); tagsTableView.RowHeight = 70f; _tagField.EditingChanged += EditingDidChange; SetBackButton(); SetCollectionHeight(); SearchTextChanged(); }
public TagsTableViewSource(TagPickerFacade tagPickerFacade) { _tagPickerFacade = tagPickerFacade; }
public PostSearchTagsAdapter(TagPickerFacade facade) { _tagPickerFacade = facade; }
public TagsAdapter(TagPickerFacade facade) { _tagPickerFacade = facade; }