protected override void OnCreate(Bundle savedInstanceState)
        {
            base.OnCreate(savedInstanceState);
            SetContentView(Resource.Layout.Main);

            layout = (FlowLayout)this.FindViewById(Resource.Id.flowLayout);

            Button buttonOrientation = new Button(this);

            buttonOrientation.LayoutParameters = new FlowLayout.LayoutParams(100, 100);
            buttonOrientation.TextSize         = 8;
            buttonOrientation.Text             = "Switch Orientation (Current: Horizontal)";
            buttonOrientation.Click           += buttonOrientation_Click;
            layout.AddView(buttonOrientation, 0);

            Button buttonGravity = new Button(this);

            buttonGravity.LayoutParameters = new FlowLayout.LayoutParams(100, 100);
            buttonGravity.TextSize         = 8;
            buttonGravity.Text             = "Switch Gravity (Current: FILL)";
            buttonGravity.Click           += buttonGravity_Click;
            layout.AddView(buttonGravity, 0);

            Button buttonLayoutDirection = new Button(this);

            buttonLayoutDirection.LayoutParameters = new FlowLayout.LayoutParams(100, 100);
            buttonLayoutDirection.TextSize         = 8;
            buttonLayoutDirection.Text             = "Switch LayoutDirection (Current: LTR)";
            buttonLayoutDirection.Click           += buttonLayoutDirection_Click;
            layout.AddView(buttonLayoutDirection, 0);

            Button buttonDebug = new Button(this);

            buttonDebug.LayoutParameters = new FlowLayout.LayoutParams(100, 100);
            buttonDebug.TextSize         = 8;
            buttonDebug.Text             = "Switch Debug (Current: true)";
            buttonDebug.Click           += buttonDebug_Click;
            layout.AddView(buttonDebug, 0);
        }
Exemplo n.º 2
0
        public CLIManager(Activity ThisActivity, CoordinatorLayout ViewContainer, Dictionary <string, Action <object> > excecutablePrograms, ref Func <bool> backpressed)
        {
            backpressed         = BackPressed;
            activity            = ThisActivity;
            Parent              = ViewContainer;
            ExcecutablePrograms = excecutablePrograms;

            List <string> ProgramNames = excecutablePrograms.Keys.ToList();


            activity.RunOnUiThread(() =>
            {
                scrollView = new ScrollView(activity);

                flowLayout = new FlowLayout(activity);
                scrollView.AddView(flowLayout, new ViewGroup.LayoutParams(ViewGroup.LayoutParams.MatchParent, ViewGroup.LayoutParams.WrapContent));

                ProgramMenu = new Dictionary <int, FlowLayout>();

                NewProg = new FlowLayout(activity);

                combo = new Spinner(activity)
                {
                    Adapter = new ArrayAdapter(activity, Android.Resource.Layout.SimpleSpinnerItem, ProgramNames)
                };
                NewProg.AddView(combo, new FlowLayout.LayoutParams(FlowLayout.LayoutParams.MatchParent, FlowLayout.LayoutParams.MatchParent));


                Button BtnAdd = new Button(activity)
                {
                    Text = "Add Program"
                };
                NewProg.AddView(BtnAdd, new FlowLayout.LayoutParams(FlowLayout.LayoutParams.MatchParent, FlowLayout.LayoutParams.MatchParent));
                BtnAdd.Click += BtnAdd_Click;
            });

            ShowMenu();
        }
        public void AddItem(View view)
        {
            Color color = Resources.GetColor(Resource.Color.holo_blue_dark);

            View newView = new View(this);

            newView.SetBackgroundColor(color);

            FlowLayout.CustomLayoutParams lp = new FlowLayout.CustomLayoutParams(100, 100);
            lp.RightMargin           = 10;
            newView.LayoutParameters = lp;

            mFlowLayout.AddView(newView);
        }
        protected void AddFlowTag(string tag)
        {
            var flowView    = LayoutInflater.From(Activity).Inflate(Resource.Layout.lyt_local_tags_item, null);
            var flowViewTag = flowView.FindViewById <TextView>(Resource.Id.tag);

            flowView.Tag         = tag;
            flowViewTag.Text     = tag;
            flowViewTag.Typeface = Style.Light;
            flowView.Click      += (sender, args) => RemoveTag(tag);
            var margin       = (int)BitmapUtils.DpToPixel(5, Resources);
            var layoutParams = new FlowLayout.LayoutParams(ViewGroup.LayoutParams.WrapContent, ViewGroup.LayoutParams.WrapContent);

            layoutParams.SetMargins(0, margin, margin, margin);
            flowView.LayoutParameters = layoutParams;
            _tagsFlow.AddView(flowView, layoutParams);
        }
        private void AddView(Sponsor sponsor, FlowLayout container)
        {
            var imageView = new SponsorImageView(Activity);
            imageView.BindData(sponsor, (_, __) =>
                {
                    if (string.IsNullOrEmpty(sponsor.Url))
                    {
                        return;
                    }
                    AnalyticsTracker.SendEvent("sponsor", sponsor.Url);
                    AppUtil.ShowWebPage(Activity, sponsor.Url);
                });

            var lparams = new FlowLayout.LayoutParams(
                FlowLayout.LayoutParams.WrapContent, FlowLayout.LayoutParams.WrapContent);
            int margin = (int) Resources.GetDimension(Resource.Dimension.spacing_small);
            lparams.SetMargins(margin, margin, 0, 0);
            container.AddView(imageView, lparams);
        }
        private void AddView(Sponsor sponsor, FlowLayout container)
        {
            var imageView = new SponsorImageView(Activity);

            imageView.BindData(sponsor, (_, __) =>
            {
                if (string.IsNullOrEmpty(sponsor.Url))
                {
                    return;
                }
                AnalyticsTracker.SendEvent("sponsor", sponsor.Url);
                AppUtil.ShowWebPage(Activity, sponsor.Url);
            });

            var lparams = new FlowLayout.LayoutParams(
                FlowLayout.LayoutParams.WrapContent, FlowLayout.LayoutParams.WrapContent);
            int margin = (int)Resources.GetDimension(Resource.Dimension.spacing_small);

            lparams.SetMargins(margin, margin, 0, 0);
            container.AddView(imageView, lparams);
        }
Exemplo n.º 7
0
        public CLIView(int id, CoordinatorLayout parentView, Activity ThisActivity, Android.Graphics.Color BackColor)
        {
            ID       = id;
            activity = ThisActivity;

            Parent = new CoordinatorLayout(activity);
            parentView.AddView(Parent, new CoordinatorLayout.LayoutParams(CoordinatorLayout.LayoutParams.MatchParent, CoordinatorLayout.LayoutParams.MatchParent));

            Parent.SetBackgroundColor(DefaultBackColor);

            PageParent = new RelativeLayout(activity);
            Parent.AddView(PageParent, new CoordinatorLayout.LayoutParams(ViewGroup.LayoutParams.MatchParent, ViewGroup.LayoutParams.MatchParent));

            ScrollViewParent = new RelativeLayout(activity)
            {
                Id = 12345
            };
            ScrollViewParent.SetBackgroundColor(DefaultBackColor);

            PageParent.AddView(ScrollViewParent, new RelativeLayout.LayoutParams(ViewGroup.LayoutParams.MatchParent, ViewGroup.LayoutParams.WrapContent));


            scrollView = new ScrollView(activity);
            //scrollView.SetBackgroundColor(Android.Graphics.Color.DarkGreen);

            ScrollViewParent.AddView(scrollView, new RelativeLayout.LayoutParams(ViewGroup.LayoutParams.MatchParent, ViewGroup.LayoutParams.MatchParent));

            console = new EditText(activity)
            {
                InputType                = Android.Text.InputTypes.Null,
                Focusable                = false,
                OverScrollMode           = OverScrollMode.Always,
                ScrollBarStyle           = ScrollbarStyles.InsideInset,
                VerticalScrollBarEnabled = true
            };
            console.SetTextIsSelectable(false);
            console.SetSingleLine(false);
            console.SetBackgroundColor(DefaultBackColor);
            console.SetTextColor(Android.Graphics.Color.White);

            console.Text = " Starting ConsoleDroid... ";

            scrollView.AddView(console, new ScrollView.LayoutParams(ViewGroup.LayoutParams.MatchParent, ViewGroup.LayoutParams.WrapContent));



            BottomParent = new LinearLayout(activity)
            {
                Id = 12346
            };
            //BottomParent.SetBackgroundColor(Android.Graphics.Color.Cyan);
            PageParent.AddView(BottomParent, new RelativeLayout.LayoutParams(ViewGroup.LayoutParams.MatchParent, ViewGroup.LayoutParams.WrapContent));

            var ScrollParams = ScrollViewParent.LayoutParameters as RelativeLayout.LayoutParams;
            var BottomParams = BottomParent.LayoutParameters as RelativeLayout.LayoutParams;

            ScrollParams.AddRule(LayoutRules.AlignParentTop);
            ScrollParams.AddRule(LayoutRules.Above, 12346);
            BottomParams.AddRule(LayoutRules.AlignParentBottom);

            promptPanel = new FlowLayout(activity);
            // promptPanel.SetBackgroundColor(Android.Graphics.Color.Blue);

            BottomParent.AddView(promptPanel, new LinearLayout.LayoutParams(ViewGroup.LayoutParams.MatchParent, ViewGroup.LayoutParams.WrapContent));
            LinearLayout.LayoutParams promptPanelParams = promptPanel.LayoutParameters as LinearLayout.LayoutParams;
            promptPanelParams.Gravity = GravityFlags.Top;

            promptPanel.Visibility = ViewStates.Invisible;


            promptQ = new EditText(activity)
            {
                InputType = Android.Text.InputTypes.Null,
                Focusable = true
            };
            promptQ.SetTextIsSelectable(true);
            promptQ.SetSingleLine(false);
            promptQ.SetBackgroundColor(BackColor);
            promptQ.SetTextColor(Android.Graphics.Color.Yellow);
            promptQ.Text = "How old are you?";
            // promptQ.SetBackgroundColor(Android.Graphics.Color.Blue);

            promptPanel.AddView(promptQ, new FlowLayout.LayoutParams(ViewGroup.LayoutParams.MatchParent, ViewGroup.LayoutParams.WrapContent));

            promptA = new EditText(activity)
            {
                InputType = Android.Text.InputTypes.ClassText,
                Focusable = true
            };

            promptA.SetBackgroundColor(BackColor);
            promptA.SetTextColor(Android.Graphics.Color.LightGoldenrodYellow);
            promptA.SetImeActionLabel("enter", Android.Views.InputMethods.ImeAction.Send);
            promptA.EditorAction += PromptA_EditorAction;
            // promptA.SetBackgroundColor(Android.Graphics.Color.DarkBlue);

            promptPanel.AddView(promptA, new FlowLayout.LayoutParams(ViewGroup.LayoutParams.MatchParent, ViewGroup.LayoutParams.WrapContent));

            promptPanel.Visibility = ViewStates.Gone;



            Status = new TextView(activity)
            {
                TextAlignment = TextAlignment.Center,
                Gravity       = GravityFlags.Bottom,
                Text          = "status"
            };

            Status.SetBackgroundColor(BackColor);
            Status.SetTextColor(Android.Graphics.Color.Azure);
            BottomParent.AddView(Status, new LinearLayout.LayoutParams(ViewGroup.LayoutParams.MatchParent, ViewGroup.LayoutParams.WrapContent));

            LinearLayout.LayoutParams statusParams = Status.LayoutParameters as LinearLayout.LayoutParams;
            statusParams.Gravity = GravityFlags.Bottom;


            FAB = new FloatingActionButton(activity);
            FAB.SetBackgroundColor(BackColor);
            FAB.SetColorFilter(BackColor);
            FAB.SetOutlineSpotShadowColor(BackColor);
            FAB.SetOutlineAmbientShadowColor(BackColor);

            Parent.AddView(FAB);
            CoordinatorLayout.LayoutParams FABLayout = FAB.LayoutParameters as CoordinatorLayout.LayoutParams;
            FABLayout.Width = -2; FABLayout.Height = -2;
            FABLayout.SetMargins(160, 160, 20, 240);
            FABLayout.Gravity = (int)(GravityFlags.Center | GravityFlags.End);
            FAB.SetImageResource(Resource.Drawable.round_pause_circle_filled_24);
            FAB.Click += FabOnClick;



            CLI = new UniUI.ManagedCLI(SetConsoleText, SetStatus, Prompt);

            HeartBeat          = new Timer(3000);
            HeartBeat.Elapsed += HeartBeat_Elapsed;
            HeartBeat.Start();
        }
Exemplo n.º 8
0
        public void ShowMenu()
        {
            IsMenuShown = true;

            activity.RunOnUiThread(() =>
            {
                Parent.RemoveAllViews();
                Parent.AddView(scrollView, new ViewGroup.LayoutParams(ViewGroup.LayoutParams.MatchParent, ViewGroup.LayoutParams.WrapContent));

                combo.SetSelection(0, false);

                flowLayout.RemoveAllViews();
                foreach (var fl in ProgramMenu.Values)
                {
                    fl.Dispose();
                }


                flowLayout.AddView(NewProg, new FlowLayout.LayoutParams(FlowLayout.LayoutParams.MatchParent, FlowLayout.LayoutParams.WrapContent));

                ProgramMenu = new Dictionary <int, FlowLayout>();

                foreach (var prog in Programs)
                {
                    FlowLayout pfl = new FlowLayout(activity);
                    pfl.SetBackgroundColor(prog.Value.Color);
                    flowLayout.AddView(pfl, new FlowLayout.LayoutParams(FlowLayout.LayoutParams.MatchParent, FlowLayout.LayoutParams.WrapContent));

                    TextView pname = new TextView(activity)
                    {
                        Text = prog.Key.ToString() + ". " + prog.Value.name
                    };
                    pfl.AddView(pname, new ViewGroup.LayoutParams(ViewGroup.LayoutParams.MatchParent, ViewGroup.LayoutParams.MatchParent));


                    Button BtnOpen = new Button(activity)
                    {
                        Text = "Open", Tag = prog.Key
                    };
                    pfl.AddView(BtnOpen, new FlowLayout.LayoutParams(FlowLayout.LayoutParams.MatchParent, FlowLayout.LayoutParams.MatchParent));

                    BtnOpen.Click += ((object sender, EventArgs e) =>
                    {
                        HideMenu();
                        ShowCLI(prog.Key);
                    });

                    Button BtnKill = new Button(activity)
                    {
                        Text = "Terminate", Tag = prog.Key
                    };
                    pfl.AddView(BtnKill, new FlowLayout.LayoutParams(FlowLayout.LayoutParams.MatchParent, FlowLayout.LayoutParams.MatchParent));

                    BtnKill.Click += ((object sender, EventArgs e) =>
                    {
                        RemoveCLI(prog.Key);
                    });


                    ProgramMenu.Add(prog.Key, pfl);
                }
            });
        }