public override void OnViewAdded(View child)
        {
            base.OnViewAdded(child);

            if (child.GetType() == typeof(Toolbar))
            {
                Toolbar = (Toolbar)child;

                LayoutParent = new LinearLayout(Toolbar.Context)
                {
                    LayoutParameters = new LinearLayout.LayoutParams(LayoutParams.MatchParent, LayoutParams.MatchParent),
                    Orientation      = Orientation.Vertical
                };
                LayoutParent.SetGravity(GravityFlags.Center);

                TextViewTitle = new TextView(LayoutParent.Context)
                {
                    LayoutParameters = new LinearLayout.LayoutParams(LayoutParams.WrapContent, LayoutParams.WrapContent)
                };
                TextViewTitle.SetTextAppearance(Resource.Style.TextAppearance_AppCompat_Widget_ActionBar_Title);

                LayoutParent.AddView(TextViewTitle);
                Toolbar.AddView(LayoutParent);
            }

            CurrentPage = Element?.Navigation?.NavigationStack?.Last();
            if (CurrentPage != null)
            {
                CurrentPage.PropertyChanged += PagePropertyChanged;
                Setup(CurrentPage);
            }
        }
Beispiel #2
0
        void UpdateTitleView()
        {
            AToolbar bar = _toolbar;

            if (bar == null)
            {
                return;
            }

            Page currentPage = Element.CurrentPage;

            if (currentPage == null)
            {
                return;
            }

            VisualElement titleView = NavigationPage.GetTitleView(currentPage);

            if (_titleViewRenderer != null)
            {
                var reflectableType = _titleViewRenderer as System.Reflection.IReflectableType;
                var rendererType    = reflectableType != null?reflectableType.GetTypeInfo().AsType() : _titleViewRenderer.GetType();

                if (titleView == null || Registrar.Registered.GetHandlerTypeForObject(titleView) != rendererType)
                {
                    if (_titleView != null)
                    {
                        _titleView.Child = null;
                    }
                    Android.Platform.ClearRenderer(_titleViewRenderer.View);
                    _titleViewRenderer.Dispose();
                    _titleViewRenderer = null;
                }
            }

            if (titleView == null)
            {
                return;
            }

            if (_titleViewRenderer != null)
            {
                _titleViewRenderer.SetElement(titleView);
            }
            else
            {
                _titleViewRenderer = Android.Platform.CreateRenderer(titleView, Context);

                if (_titleView == null)
                {
                    _titleView = new Container(Context);
                    bar.AddView(_titleView);
                }

                _titleView.Child = _titleViewRenderer;
            }

            Android.Platform.SetRenderer(titleView, _titleViewRenderer);
        }
Beispiel #3
0
        protected override void OnCreate(Bundle savedInstanceState)
        {
            base.OnCreate(savedInstanceState);
            SetContentView(Resource.Layout.register_layout);

            toolbar = FindViewById <Toolbar>(Resource.Id.toolbar);
            toolbar.SetTitle(Resource.String.Registration);
            SetSupportActionBar(toolbar);
            Button BSubmit = new Button(this);

            toolbar.AddView(BSubmit);
            BSubmit.Click += BSubmit_Click;

            ETLogin           = FindViewById <EditText>(Resource.Id.login);
            ETPassword        = FindViewById <EditText>(Resource.Id.password);
            ETConfirmPassword = FindViewById <EditText>(Resource.Id.confirm_password);
            ETFirstName       = FindViewById <EditText>(Resource.Id.first_name);
            ETLastName        = FindViewById <EditText>(Resource.Id.last_name);
            ETEmail           = FindViewById <EditText>(Resource.Id.email);
        }
        protected override void OnCreate(Bundle savedInstanceState)
        {
            base.OnCreate(savedInstanceState);
            SetContentView(Resource.Layout.issue_editor_layout);
            if (RedMineManager.Get <MainActivity.User>("/users/current.json", "user").status != 0)
            {
                isAdmin = true;
            }
            usersContainer = RedMineManager.Get <UsersContainer>("/users.json?limit=100&nometa=1");

            if (!Intent.GetBooleanExtra("IsNew", false))
            {
                currIssue = RedMineManager.Get <IssuesContainer.Issue>("/issues/" + Intent.GetIntExtra("ID", 0) + ".json?include=journals&nometa=1", "issue");
            }
            BSave        = new Button(this);
            BSave.Text   = Resources.GetString(Resource.String.Save);
            BSave.Click += BSave_Click;

            toolbar = FindViewById <Toolbar>(Resource.Id.toolbar);
            toolbar.SetTitle(Resource.String.EditIssue);
            toolbar.AddView(BSave);
            SetSupportActionBar(toolbar);

            LLRoot   = FindViewById <LinearLayout>(Resource.Id.root);
            STracker = FindViewById <Spinner>(Resource.Id.tracker);
            ArrayAdapter trackerAdapter = new ArrayAdapter(this, Android.Resource.Layout.SimpleDropDownItem1Line, Enum.GetNames(typeof(RedMineManager.Trackers)));

            STracker.Adapter = trackerAdapter;
            trackerAdapter.SetDropDownViewResource(Android.Resource.Layout.SimpleSpinnerDropDownItem);

            SPriority = FindViewById <Spinner>(Resource.Id.priority);
            var priorityAdapter = ArrayAdapter.CreateFromResource(this, Resource.Array.priorities_array, Android.Resource.Layout.SimpleDropDownItem1Line);

            priorityAdapter.SetDropDownViewResource(Android.Resource.Layout.SimpleDropDownItem1Line);
            SPriority.Adapter = priorityAdapter;

            SAssignee = FindViewById <Spinner>(Resource.Id.assigned_to);
            var query = from r in usersContainer.users
                        select r.firstname + " " + r.lastname;
            ArrayAdapter assigneeAdapter = new ArrayAdapter(this, Android.Resource.Layout.SimpleDropDownItem1Line, query.ToList());

            assigneeAdapter.SetDropDownViewResource(Android.Resource.Layout.SimpleDropDownItem1Line);
            SAssignee.Adapter = assigneeAdapter;
            if (!isAdmin)
            {
                SAssignee.Enabled = false;
            }

            SStatus = FindViewById <Spinner>(Resource.Id.status);
            var statusAdapter = new ArrayAdapter(this, Android.Resource.Layout.SimpleDropDownItem1Line, Enum.GetNames(typeof(RedMineManager.IssueStatuses)));

            SStatus.Adapter = statusAdapter;
            if (!isAdmin)
            {
                SStatus.Enabled = false;
            }
            statusAdapter.SetDropDownViewResource(Android.Resource.Layout.SimpleDropDownItem1Line);


            BStartDate        = FindViewById <ImageButton>(Resource.Id.start_date);
            BStartDate.Click += ChangeDateClick;

            ETStartDate = FindViewById <EditText>(Resource.Id.txt_start_date);

            BDueDate        = FindViewById <ImageButton>(Resource.Id.due_date);
            BDueDate.Click += DueDateClick;

            ETDueDate = FindViewById <EditText>(Resource.Id.txt_due_date);

            ETEstimatedHours = FindViewById <EditText>(Resource.Id.estimated_hours);

            ETProgress = FindViewById <EditText>(Resource.Id.done_ratio);
            if (Intent.GetBooleanExtra("IsNew", false))
            {
                ETProgress.Enabled = false;
            }


            ETDescription = FindViewById <EditText>(Resource.Id.description);

            ETSubject = FindViewById <EditText>(Resource.Id.subject);


            LLNotesRoot    = FindViewById <LinearLayout>(Resource.Id.notes_root);
            ETNewNote      = new EditText(this);
            ETNewNote.Hint = Resources.GetString(Resource.String.NewNote);
            LLNotesRoot.AddView(ETNewNote);
            SetNotesLayout();



            if (currIssue != null)
            {
                SStatus.SetSelection(statusAdapter.GetPosition(currIssue.status.name));
                ETSubject.Text        = currIssue.subject;
                ETDescription.Text    = currIssue.description;
                ETEstimatedHours.Text = currIssue.estimated_hours.ToString();
                ETProgress.Text       = currIssue.done_ratio.ToString();
                ETEstimatedHours.Text = currIssue.estimated_hours.ToString();
                if (currIssue.assigned_to != null)
                {
                    SAssignee.SetSelection(assigneeAdapter.GetPosition(currIssue.assigned_to.name));
                }
                if (currIssue.tracker != null)
                {
                    STracker.SetSelection(trackerAdapter.GetPosition(currIssue.tracker.name));
                }
                if (currIssue.priority != null)
                {
                    SPriority.SetSelection(priorityAdapter.GetPosition(currIssue.priority.name));
                }
                ETStartDate.Text = currIssue.start_date;
                ETDueDate.Text   = currIssue.due_date;
            }
            else
            {
                currIssue = new IssuesContainer.Issue {
                    project = new IssuesContainer.Project {
                        id = Intent.GetIntExtra("ProjectId", 0)
                    }
                }
            };

            if (Intent.GetBooleanExtra("IsNew", false))
            {
                ClearIssueFields();
            }
        }
        public override void OnViewAdded(Android.Views.View child)
        {
            base.OnViewAdded(child);

            if (child.GetType() == typeof(Android.Support.V7.Widget.Toolbar))
            {
                _toolbar = (Android.Support.V7.Widget.Toolbar)child;
                _originalToolbarBackground = _toolbar.Background;

                var originalContent = (Context as Activity)?.Window?.DecorView?.FindViewById <FrameLayout>(Window.IdAndroidContent);
                if (originalContent != null)
                {
                    _originalWindowContent = originalContent.Foreground;
                }

                _leftMenuLayout = new Android.Widget.LinearLayout(_toolbar.Context)
                {
                    Orientation      = Android.Widget.Orientation.Horizontal,
                    LayoutParameters = new Android.Widget.FrameLayout.LayoutParams(LayoutParams.WrapContent, LayoutParams.WrapContent),
                };

                _rightMenuLayout = new Android.Widget.LinearLayout(_toolbar.Context)
                {
                    Orientation      = Android.Widget.Orientation.Horizontal,
                    LayoutParameters = new Android.Widget.FrameLayout.LayoutParams(LayoutParams.WrapContent, LayoutParams.WrapContent),
                };

                //foreach (var item in Element.CurrentPage.ToolbarItems)
                //{
                //    if (item.Priority == 0)
                //    {
                //        _leftMenuLayout.AddView(GetButton(item));
                //    }
                //    else
                //    {
                //        _rightMenuLayout.AddView(GetButton(item));
                //    }
                //}

                //Create custom title view layout
                _titleViewLayout = new Android.Widget.LinearLayout(_toolbar.Context)
                {
                    Orientation      = Android.Widget.Orientation.Vertical,
                    LayoutParameters = new Android.Widget.FrameLayout.LayoutParams(LayoutParams.WrapContent, LayoutParams.WrapContent),
                };

                //Create custom title text view
                _titleTextView = new TextView(_titleViewLayout.Context)
                {
                    Gravity          = GravityFlags.CenterHorizontal,
                    LayoutParameters = new LinearLayout.LayoutParams(LayoutParams.WrapContent, LayoutParams.WrapContent),
                };

                //Create custom subtitle text view
                _subTitleTextView = new TextView(_titleViewLayout.Context)
                {
                    LayoutParameters = new LinearLayout.LayoutParams(LayoutParams.WrapContent, LayoutParams.WrapContent)
                };

                _titleViewLayout.AddView(_titleTextView);
                _titleViewLayout.AddView(_subTitleTextView);

                _toolbar.AddView(_titleViewLayout);
                _toolbar.AddView(_leftMenuLayout);
                _toolbar.AddView(_rightMenuLayout);

                _toolbar.ChildViewAdded += OnToolbarChildViewAdded;
            }
        }
Beispiel #6
0
        public override void OnViewAdded(Android.Views.View child)
        {
            base.OnViewAdded(child);
            if (child.GetType() == typeof(Android.Support.V7.Widget.Toolbar))
            {
                var lastPage = Element?.Navigation?.NavigationStack?.Last();

                /*if (_toolbar !=null)
                 * {
                 *  _toolbar.ChildViewAdded -= OnToolbarChildViewAdded;
                 *  var lPage = Element?.Navigation?.NavigationStack?.Last();
                 *  lPage.PropertyChanged -= LastPage_PropertyChanged;
                 * }*/

                _toolbar = (Android.Support.V7.Widget.Toolbar)child;
                _originalToolbarBackground = _toolbar.Background;

                var originalContent = (Forms.Context as Activity)?.Window?.DecorView?.FindViewById <FrameLayout>(Window.IdAndroidContent);
                if (originalContent != null)
                {
                    _originalWindowContent = originalContent.Foreground;
                }

                _parentLayout = new Android.Widget.FrameLayout(_toolbar.Context)
                {
                    LayoutParameters = new Android.Widget.FrameLayout.LayoutParams(LayoutParams.MatchParent, LayoutParams.MatchParent)
                };

                //Create custom title view layout
                _titleViewLayout = new Android.Widget.LinearLayout(_parentLayout.Context)
                {
                    Orientation      = Android.Widget.Orientation.Vertical,
                    LayoutParameters = new Android.Widget.FrameLayout.LayoutParams(LayoutParams.WrapContent, LayoutParams.WrapContent)
                };

                //Create custom title text view
                _titleTextView = new TextView(_parentLayout.Context)
                {
                    LayoutParameters = new LinearLayout.LayoutParams(LayoutParams.WrapContent, LayoutParams.WrapContent)
                };

                //Create custom subtitle text view
                _subTitleTextView = new TextView(_parentLayout.Context)
                {
                    LayoutParameters = new LinearLayout.LayoutParams(LayoutParams.WrapContent, LayoutParams.WrapContent)
                };

                //Add title/subtitle to title view layout
                _titleViewLayout.AddView(_titleTextView);
                _titleViewLayout.AddView(_subTitleTextView);

                //Add title view layout to main layout
                _parentLayout.AddView(_titleViewLayout);

                //Add main layout to toolbar
                _toolbar.AddView(_parentLayout);

                _toolbar.ChildViewAdded += OnToolbarChildViewAdded;



                lastPage.PropertyChanged += LastPage_PropertyChanged;
            }
        }