Esempio n. 1
0
        void InitModularSearchViewAndButton()
        {
            // The search result highlighter will highlight any selected result.
            highlighter = new SearchResultHighlighter(this);
            fragment.AddDrawableProvider(highlighter);

            modularSearchView = FindViewById <PdfSearchViewModular> (Resource.Id.modularSearchView);
            if (modularSearchView == null)
            {
                throw new IllegalStateException("Error while loading CustomFragmentActivity. The example layout was missing the search view.");
            }

            modularSearchView.MoreSearchResults    += (sender, e) => highlighter.AddSearchResults(e.P0);
            modularSearchView.SearchCleared        += (sender, e) => highlighter.ClearSearchResults();
            modularSearchView.SearchResultSelected += (sender, e) => {
                // Pass on the search result to the highlighter. If 'null' the highlighter will clear any selection.
                highlighter.SetSelectedSearchResult(e.P0);
                if (e.P0 != null)
                {
                    fragment.ScrollTo(PdfUtils.CreatePdfRectUnion(e.P0.TextBlock.PageRects.Cast <RectF> ().ToList()), e.P0.PageIndex, 250, false);
                }
            };

            // The search view is hidden by default (see layout). Set up a click listener that will show the view once pressed.
            var openSearchButton = FindViewById <ImageView> (Resource.Id.openSearchButton);

            openSearchButton.SetImageDrawable(TintDrawable(openSearchButton.Drawable, ContextCompat.GetColor(this, Resource.Color.pspdf__color_white)));
            openSearchButton.Click += (sender, e) => modularSearchView.Show();
        }