Example #1
0
        private void ShowFragment(ContentFragment fragment)
        {
            var transition = SupportFragmentManager.BeginTransaction();

            transition.Replace(Resource.Id.container, fragment);
            transition.Commit();
        }
        protected override void OnCreate(Bundle bundle)
        {
            base.OnCreate(bundle);

            // Set our view from the "main" layout resource
            SetContentView(Resource.Layout.activity_main);

            contentFragment = ContentFragment.NewInstance(Resource.Drawable.content_music);
            SupportFragmentManager.BeginTransaction()
            .Replace(Resource.Id.content_frame, contentFragment)
            .Commit();

            drawerLayout = FindViewById <DrawerLayout>(Resource.Id.drawer_layout);
            drawerLayout.SetScrimColor(Color.Transparent);
            linearLayout        = FindViewById <LinearLayout>(Resource.Id.left_drawer);
            linearLayout.Click += (s, e) =>
            {
                drawerLayout.CloseDrawers();
            };

            SetActionBar();
            CreateMenuList();

            viewAnimator = new Yalantis.Com.Sidemenu.Util.ViewAnimator(this, listMenuItems, contentFragment, drawerLayout, this);
        }
Example #3
0
        private void HandleChangeLayout(LayoutType type)
        {
            var id    = -1;
            var model = new ResultModel();

            switch (type)
            {
            case LayoutType.LinearLayout:
                id         = _linearResourceId;
                model.Type = ViewType.LinearLayout;
                RunOnUiThread(() => _label.Text = Constants.LinearLayout);
                break;

            case LayoutType.RelativeLayout:
                id         = _relativeResourceId;
                model.Type = ViewType.RelativeLayout;
                RunOnUiThread(() => _label.Text = Constants.RelativeLayout);
                break;
            }

            var fragment = new ContentFragment(id);

            void handler(ContentFragment sender)
            {
                fragment.ViewCreated -= handler;
                model.ElapsedTime     = sender.ElapsedTime;
                model.ElapsedMemory   = sender.ElapsedMemory;
                UpdateResults(model);
            }

            fragment.ViewCreated += handler;

            ShowFragment(fragment);
        }
Example #4
0
        public static ContentFragmentView ToViewModel(this ContentFragment source)
        {
            var fragment = PopulateContentElementView(source, new ContentFragmentView()
            {
                Body = source.Body
            });

            return(fragment);
        }
Example #5
0
    public static ContentFragment NewInstance(int position)
    {
        var contentFragment = new ContentFragment();
        var _bundle         = new Bundle();

        _bundle.PutInt("position", position);
        contentFragment.Arguments = _bundle;
        return(contentFragment);
    }
Example #6
0
        protected override void OnCreate(Bundle savedInstanceState)
        {
            base.OnCreate(savedInstanceState);

            // Create your application here
            int playId = Intent.GetIntExtra("PlayId", 0);

            Android.App.Fragment fragment = ContentFragment.GetInstance(playId);
            FragmentManager.BeginTransaction().Add(Android.Resource.Id.Content, fragment, "1").Commit();
        }
Example #7
0
    private void FillContentFragment(string content, List <string> parsedList, List <ContentFragment> contentFragments)
    {
        content = Regex.Replace(content, @"=\s*""", @"=""");
        content = Regex.Replace(content, @"""\s*=", @"""=");
        var widgets = Regex.Matches(content, @"(?<=\[Widget)(.*?)(?=\])").Cast <Match>().Select(p => p.Value).ToList();

        for (int i = 0, k = 0; i < parsedList.Count; i++)
        {
            if (parsedList[i] == Delimeter)
            {
                if (widgets.Count > k)
                {
                    var preparedContent = string.Join("", widgets[k]);
                    var keys            = Regex.Matches(preparedContent, @"(?<=\s)(.*?)(?==\s*"")").Cast <Match>()
                                          .Select(p => p.Value).Where(p => p != string.Empty).ToList();
                    var values = Regex.Matches(preparedContent, @"(?<=\s*[a-zA-Z]*=\s*"")(.*?)(?="")").Cast <Match>()
                                 .Select(p => p.Value).ToList();

                    var widgetTypeIndex = keys.IndexOf("Type");
                    if (widgetTypeIndex != -1)
                    {
                        var widgetType = values[widgetTypeIndex];
                        var name       = _options.WidgetConfigs.Where(p => p.Key == widgetType).Select(p => p.Value.Name).FirstOrDefault();
                        if (name is not null && widgets.Count > k)
                        {
                            values[0] = name;
                            var contentFragment = new ContentFragment()
                            {
                                Type = Widget
                            };
                            contentFragments.Add(contentFragment);
                            for (int kv = 0; kv < values.Count; kv++)
                            {
                                contentFragments.FindLast(p => p == contentFragment)
                                .SetProperty(keys[kv], values[kv]);
                            }
                        }
                    }
                }
                k++;
            }
            else
            {
                contentFragments.Add(new ContentFragment()
                {
                    Type = Markdown
                }
                                     .SetProperty(Content, parsedList[i]));
            }
        }
    }
Example #8
0
        public bool OnNavigationItemSelected(IMenuItem item)
        {
            int id = item.ItemId;

            var resourceId = -1;
            var model      = new ResultModel();

            switch (id)
            {
            case Resource.Id.linear_item:
                resourceId     = Resource.Layout.linear_fragment_layout;
                model.Type     = ViewType.LinearLayout;
                _toolbar.Title = Constants.LinearLayout;
                break;

            case Resource.Id.relative_item:
                resourceId     = Resource.Layout.relative_fragment_layout;
                model.Type     = ViewType.RelativeLayout;
                _toolbar.Title = Constants.RelativeLayout;
                break;

            default:
                break;
            }

            var fragment = new ContentFragment(resourceId);

            if (resourceId != -1)
            {
                ShowFragment(fragment);
            }

            void handler(ContentFragment sender)
            {
                fragment.ViewCreated -= handler;
                model.ElapsedTime     = sender.ElapsedTime;
                model.ElapsedMemory   = sender.ElapsedMemory;
                UpdateResults(model);
            }

            fragment.ViewCreated += handler;

            var drawer = FindViewById <DrawerLayout>(Resource.Id.drawer_layout);

            drawer.CloseDrawer(GravityCompat.Start);
            return(true);
        }
        public IScreenShotable ReplaceFragment(IScreenShotable screenShotable, int topPosition)
        {
            this.res = this.res == Resource.Drawable.content_music ? Resource.Drawable.content_films : Resource.Drawable.content_music;
            View            view        = FindViewById(Resource.Id.content_frame);
            int             finalRadius = Math.Max(view.Width, view.Height);
            SupportAnimator animator    = IO.Codetail.Animation.ViewAnimationUtils.CreateCircularReveal(view, 0, topPosition, 0, finalRadius);

            animator.SetInterpolator(new AccelerateInterpolator());
            animator.SetDuration(Yalantis.Com.Sidemenu.Util.ViewAnimator.CircularRevealAnimationDuration);

            FindViewById(Resource.Id.content_overlay).SetBackgroundDrawable(new BitmapDrawable(Resources, screenShotable.Bitmap));
            animator.Start();
            ContentFragment contentFragment = ContentFragment.NewInstance(this.res);

            SupportFragmentManager.BeginTransaction().Replace(Resource.Id.content_frame, contentFragment).Commit();
            return(contentFragment);
        }
Example #10
0
 public override Android.Support.V4.App.Fragment GetItem(int position)
 {
     return(ContentFragment.NewInstance(position));
 }