protected override void OnElementChanged(ElementChangedEventArgs <NavigationPage> e) { base.OnElementChanged(e); if (e.OldElement != null) { if (_toolbar != null) { _toolbar.RemoveFromParent(); } } if (e.NewElement != null) { _toolbar = (Toolbar)GetChildAt(0); var getNavBarHeight = typeof(NavigationPageRenderer).GetMethod("ActionBarHeight", BindingFlags.Instance | BindingFlags.NonPublic); _barHeight = (int)getNavBarHeight.Invoke(this, new object[] { }); _appBarLayout = (Context as FormsAppCompatActivity).FindViewById <AppBarLayout>(Resource.Id.coordinatorAppBar); _toolbar.RemoveFromParent(); using (var toolbarParams = new AppBarLayout.LayoutParams(LayoutParams.MatchParent, _barHeight)) { toolbarParams.ScrollFlags = AppBarLayout.LayoutParams.ScrollFlagScroll | AppBarLayout.LayoutParams.ScrollFlagEnterAlways; _appBarLayout.AddView(_toolbar, toolbarParams); } } }
protected override void OnCreate(Bundle savedInstanceState) { base.OnCreate(savedInstanceState); var info = FamiStudioForm.Instance != null ? FamiStudioForm.Instance.ActiveDialog as PropertyDialogActivityInfo : null; if (savedInstanceState != null || info == null) { Finish(); return; } dlg = info.Dialog; dlg.CloseRequested += Dlg_CloseRequested; var appBarLayoutParams = new AppBarLayout.LayoutParams(ViewGroup.LayoutParams.MatchParent, DroidUtils.GetSizeAttributeInPixel(this, Android.Resource.Attribute.ActionBarSize)); appBarLayoutParams.ScrollFlags = 0; toolbar = new AndroidX.AppCompat.Widget.Toolbar(new ContextThemeWrapper(this, Resource.Style.ToolbarTheme)); toolbar.LayoutParameters = appBarLayoutParams; toolbar.SetTitleTextAppearance(this, Resource.Style.LightGrayTextMediumBold); SetSupportActionBar(toolbar); ActionBar actionBar = SupportActionBar; if (actionBar != null) { actionBar.SetDisplayHomeAsUpEnabled(true); actionBar.SetHomeButtonEnabled(true); actionBar.SetHomeAsUpIndicator(Android.Resource.Drawable.IcMenuCloseClearCancel); actionBar.Title = dlg.Title; } appBarLayout = new AppBarLayout(this); appBarLayout.LayoutParameters = new ViewGroup.LayoutParams(ViewGroup.LayoutParams.MatchParent, ViewGroup.LayoutParams.WrapContent); appBarLayout.AddView(toolbar); fragmentView = new FragmentContainerView(this); fragmentView.LayoutParameters = new ViewGroup.LayoutParams(ViewGroup.LayoutParams.MatchParent, ViewGroup.LayoutParams.MatchParent); fragmentView.Id = FragmentViewId; var scrollViewLayoutParams = new CoordinatorLayout.LayoutParams(ViewGroup.LayoutParams.MatchParent, ViewGroup.LayoutParams.MatchParent); scrollViewLayoutParams.Behavior = new AppBarLayout.ScrollingViewBehavior(this, null); scrollView = new NestedScrollView(new ContextThemeWrapper(this, Resource.Style.DarkBackgroundStyle)); scrollView.LayoutParameters = scrollViewLayoutParams; scrollView.AddView(fragmentView); coordLayout = new CoordinatorLayout(this); coordLayout.LayoutParameters = new ViewGroup.LayoutParams(ViewGroup.LayoutParams.MatchParent, ViewGroup.LayoutParams.MatchParent); coordLayout.AddView(appBarLayout); coordLayout.AddView(scrollView); SetContentView(coordLayout); SupportFragmentManager.BeginTransaction().SetReorderingAllowed(true).Add(fragmentView.Id, dlg.Properties, "PropertyDialog").Commit(); }
public override View OnCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) { mapGraph = MainApp.Instance.MainBuildingGraph.Value; view = inflater.Inflate(Resource.Layout.fragment_mainbuilding, container, false); fragments = new List <MainBuildingMapFragment>() { new MainBuildingMapFragment(Resource.Drawable.first_floor), new MainBuildingMapFragment(Resource.Drawable.second_floor), new MainBuildingMapFragment(Resource.Drawable.third_floor) }; fragmentTransaction = Activity.SupportFragmentManager.BeginTransaction(); fragmentTransaction.Add(Resource.Id.frame_mainbuilding, fragments[2], "MAP_MAINBUILDING_3"); fragmentTransaction.Add(Resource.Id.frame_mainbuilding, fragments[1], "MAP_MAINBUILDING_2"); fragmentTransaction.Detach(fragments[2]); fragmentTransaction.Detach(fragments[1]); fragmentTransaction.Add(Resource.Id.frame_mainbuilding, fragments[0], "MAP_MAINBUILDING_1"); fragmentTransaction.Commit(); var array = MainApp.Instance.RoomsDictionary.Select(x => x.Key).ToArray(); editTextInputFrom = view.FindViewById <AutoCompleteTextView>(Resource.Id.autoCompleteTextView_from); editTextInputFrom.FocusChange += EditTextFromFocusChanged; editTextInputFrom.Adapter = new ArrayAdapter(Activity.BaseContext, Android.Resource.Layout.SimpleDropDownItem1Line, array); editTextInputFrom.AddTextChangedListener(this); editTextInputTo = view.FindViewById <AutoCompleteTextView>(Resource.Id.autoCompleteTextView_to); editTextInputTo.SetOnEditorActionListener(this); editTextInputTo.FocusChange += EditTextToFocusChanged; editTextInputTo.Adapter = new ArrayAdapter(Activity.BaseContext, Android.Resource.Layout.SimpleDropDownItem1Line, array); editTextInputTo.AddTextChangedListener(this); appBar = view.FindViewById <AppBarLayout>(Resource.Id.appbar_mainbuilding); appBar.AddOnOffsetChangedListener(this); fab = view.FindViewById <FloatingActionButton>(Resource.Id.fab_mainbuilding); fab.Click += Fab_Click; relativeLayout = view.FindViewById <RelativeLayout>(Resource.Id.search_frame_mainbuilding); relativeLayoutParams = (AppBarLayout.LayoutParams)relativeLayout.LayoutParameters; frameLayout = view.FindViewById <FrameLayout>(Resource.Id.frame_mainbuilding); fabLayoutParams = (CoordinatorLayout.LayoutParams)fab.LayoutParameters; var rl = view.FindViewById <RelativeLayout>(Resource.Id.relativelayout_floor_buttons_mainbuilding); rl.BringToFront(); buttonUp = view.FindViewById <FloatingActionButton>(Resource.Id.fab_up_mainbuilding); buttonUp.Click += ButtonUp_Click; buttonUp.Alpha = 0.7f; buttonDown = view.FindViewById <FloatingActionButton>(Resource.Id.fab_down_mainbuilding); buttonDown.Click += ButtonDown_Click; buttonDown.Alpha = 0.7f; buttonDown.Enabled = false; return(view); }
private void EnsureCorrectState() { // Set toolbar scrollable or not. var _params = new AppBarLayout.LayoutParams(toolBar.LayoutParameters); if (viewModel.ProjectList.Workspaces.Count > 1) { tabLayout.Visibility = ViewStates.Visible; _params.ScrollFlags = AppBarLayout.LayoutParams.ScrollFlagScroll | AppBarLayout.LayoutParams.ScrollFlagEnterAlways; } else { tabLayout.Visibility = ViewStates.Gone; _params.ScrollFlags = 0; } toolBar.LayoutParameters = _params; recyclerView.Visibility = viewModel.ProjectList.IsEmpty ? ViewStates.Gone : ViewStates.Visible; emptyStateLayout.Visibility = viewModel.ProjectList.IsEmpty ? ViewStates.Visible : ViewStates.Gone; }
private void ConfigureUIViews() { // Set toolbar scrollable or not. var _params = new AppBarLayout.LayoutParams(toolBar.LayoutParameters); if (viewModel.WorkspaceList.Any()) { tabLayout.Visibility = ViewStates.Visible; _params.ScrollFlags = AppBarLayout.LayoutParams.ScrollFlagScroll | AppBarLayout.LayoutParams.ScrollFlagEnterAlways; } else { tabLayout.Visibility = ViewStates.Gone; _params.ScrollFlags = 0; } toolBar.LayoutParameters = _params; // Hide or show recyclerview. var haveProjects = viewModel.ProjectList.OfType <ProjectData> ().Any(); recyclerView.Visibility = haveProjects ? ViewStates.Visible : ViewStates.Gone; emptyStateLayout.Visibility = haveProjects ? ViewStates.Gone : ViewStates.Visible; }
private void EnsureCorrectState () { // Set toolbar scrollable or not. var _params = new AppBarLayout.LayoutParams (toolBar.LayoutParameters); if (viewModel.ProjectList.Workspaces.Count > 1) { tabLayout.Visibility = ViewStates.Visible; _params.ScrollFlags = AppBarLayout.LayoutParams.ScrollFlagScroll | AppBarLayout.LayoutParams.ScrollFlagEnterAlways; } else { tabLayout.Visibility = ViewStates.Gone; _params.ScrollFlags = 0; } toolBar.LayoutParameters = _params; recyclerView.Visibility = viewModel.ProjectList.IsEmpty ? ViewStates.Gone : ViewStates.Visible; emptyStateLayout.Visibility = viewModel.ProjectList.IsEmpty ? ViewStates.Visible : ViewStates.Gone; }
private void ConfigureUIViews () { // Set toolbar scrollable or not. var _params = new AppBarLayout.LayoutParams (toolBar.LayoutParameters); if (viewModel.WorkspaceList.Any ()) { tabLayout.Visibility = ViewStates.Visible; _params.ScrollFlags = AppBarLayout.LayoutParams.ScrollFlagScroll | AppBarLayout.LayoutParams.ScrollFlagEnterAlways; } else { tabLayout.Visibility = ViewStates.Gone; _params.ScrollFlags = 0; } toolBar.LayoutParameters = _params; // Hide or show recyclerview. var haveProjects = viewModel.ProjectList.OfType<ProjectData> ().Any (); recyclerView.Visibility = haveProjects ? ViewStates.Visible : ViewStates.Gone; emptyStateLayout.Visibility = haveProjects ? ViewStates.Gone : ViewStates.Visible; }
protected override void OnCreate(Bundle savedInstanceState) { base.OnCreate(savedInstanceState); var info = FamiStudioForm.Instance != null ? FamiStudioForm.Instance.ActiveDialog as TutorialDialogActivityInfo : null; if (savedInstanceState != null || info == null) { Finish(); return; } var appBarLayoutParams = new AppBarLayout.LayoutParams(ViewGroup.LayoutParams.MatchParent, DroidUtils.GetSizeAttributeInPixel(this, Android.Resource.Attribute.ActionBarSize)); appBarLayoutParams.ScrollFlags = 0; toolbar = new AndroidX.AppCompat.Widget.Toolbar(new ContextThemeWrapper(this, Resource.Style.ToolbarTheme)); toolbar.LayoutParameters = appBarLayoutParams; toolbar.SetTitleTextAppearance(this, Resource.Style.LightGrayTextMediumBold); SetSupportActionBar(toolbar); ActionBar actionBar = SupportActionBar; if (actionBar != null) { actionBar.Title = "Welcome to FamiStudio!"; } appBarLayout = new AppBarLayout(this); appBarLayout.LayoutParameters = new ViewGroup.LayoutParams(ViewGroup.LayoutParams.MatchParent, ViewGroup.LayoutParams.WrapContent); appBarLayout.AddView(toolbar); var margin = DroidUtils.DpToPixels(10); var linearLayoutParams = new LinearLayout.LayoutParams(ViewGroup.LayoutParams.MatchParent, ViewGroup.LayoutParams.WrapContent); linearLayoutParams.Gravity = GravityFlags.Center; linearLayoutParams.SetMargins(margin, margin, margin, margin); textView = new TextView(new ContextThemeWrapper(this, Resource.Style.LightGrayTextMedium)); textView.Text = TutorialMessages[0]; textView.LayoutParameters = linearLayoutParams; webView = new MaxHeightWebView(this); webView.LayoutParameters = linearLayoutParams; var coordLayoutParams = new CoordinatorLayout.LayoutParams(ViewGroup.LayoutParams.MatchParent, ViewGroup.LayoutParams.MatchParent);; coordLayoutParams.Behavior = new AppBarLayout.ScrollingViewBehavior(this, null); var linearLayout = new LinearLayout(new ContextThemeWrapper(this, Resource.Style.DarkBackgroundStyle)); linearLayout.LayoutParameters = coordLayoutParams; linearLayout.Orientation = Android.Widget.Orientation.Vertical; linearLayout.AddView(textView); linearLayout.AddView(webView); coordLayout = new CoordinatorLayout(this); coordLayout.LayoutParameters = new ViewGroup.LayoutParams(ViewGroup.LayoutParams.MatchParent, ViewGroup.LayoutParams.MatchParent); coordLayout.AddView(appBarLayout); coordLayout.AddView(linearLayout); RefreshPage(); SetContentView(coordLayout); }