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(); }