protected override void OnCreate (Bundle bundle) { base.OnCreate (bundle); SetContentView (Resource.Layout.Category); var toolbar = FindViewById<Toolbar> (Resource.Id.toolbar_cat); SetSupportActionBar (toolbar); SupportActionBar.SetDisplayHomeAsUpEnabled (true); SupportActionBar.SetHomeButtonEnabled (true); var CatName = Intent.GetStringExtra ("CatName"); App.Instance.tracker.SetScreenName ("Category Drilldown Screen - Category: " + CatName); App.Instance.tracker.Send (new HitBuilders.ScreenViewBuilder().Build()); var dashboardInfo = App.Instance.GetCacheItem<DashboardInfo> (DataCacheEnum.DASHBOARD); SupportActionBar.Title = CatName; chartView = FindViewById<ChartView> (Resource.Id.cat_chart); chartTable = FindViewById<ListView> (Resource.Id.lst_chart_table); totalText = FindViewById<TextView> (Resource.Id.txt_cat_balance_amount); changeViewBtn = FindViewById<Button> (Resource.Id.switch_chart); chartTableView = FindViewById<View> (Resource.Id.cat_list_layout); changeViewBtn.Click += (object sender, EventArgs e) => { if (!isListDisplay) { chartView.Visibility = ViewStates.Gone; chartTableView.Visibility = ViewStates.Visible; changeViewBtn.Text = "View Chart"; } else { chartTableView.Visibility = ViewStates.Gone; chartView.Visibility = ViewStates.Visible; changeViewBtn.Text = "View List"; } isListDisplay = !isListDisplay; }; //adjust the size of changeViewButton here according to the screen width changeViewBtn.LayoutParameters.Width = Resources.DisplayMetrics.WidthPixels * 2 / 7; var CatTotal = dashboardInfo.fundsInfo.funds.Where (x => x.assetCategoryDescripton == CatName).Sum (x =>x.fundBalance); totalText.Text = String.Format ("{0:C}", CatTotal); var result = dashboardInfo.fundsInfo.funds.Where (x => x.assetCategoryDescripton == CatName).Select (fc => new GenericChartInput () { Name = fc.fundName, Amount = fc.fundBalance }).ToList(); var catChartData = new List<IChartInput> (); foreach (var gi in result.OrderByDescending(x => x.Amount).ToList()) { catChartData.Add (gi); } chartData = ChartBuilder.ChartSourceBuilder (catChartData, RSColors.chartColorArray, false); chartView.updateData (chartData); chartView.NavType = ChartView.ChartNavType.Fund; adapter = new ChartListAdapter (this, chartData); chartTable.Adapter = adapter; chartTable.ItemClick += OnListItemClick; }
private void loadLayout (View view) { try { loading = view.FindViewById<ProgressBar> (Resource.Id.progress_loading_dash); loading.Visibility = ViewStates.Visible; totalHeaderText = view.FindViewById<TextView> (Resource.Id.txt_total_balance_hdr); var totalBalanceTxt = view.FindViewById<TextView> (Resource.Id.txt_total_balance_amount); totalBalanceTxt.TextSize = Math.Min(Resources.DisplayMetrics.HeightPixels / 20, 48); chartView = view.FindViewById<ChartView> (Resource.Id.pie_chart); table = view.FindViewById<ListView> (Resource.Id.list); totalText = view.FindViewById<TextView> (Resource.Id.txt_total_balance_amount); changeViewBtn = view.FindViewById<Button> (Resource.Id.switch_chart); list_data = view.FindViewById<View> (Resource.Id.list_view); lastContribution = view.FindViewById<TextView> (Resource.Id.last_contribution); lastContributionAmount = view.FindViewById<TextView> (Resource.Id.txt_last_contrib_amt); lastContributionAmountMore = view.FindViewById<TextView> (Resource.Id.txt_last_contrib_amt_more); rateOfReturnPeriod = view.FindViewById<TextView> (Resource.Id.txt_ror_lbl); rateOfReturnAmount = view.FindViewById<TextView> (Resource.Id.txt_ror_amt); rateOfReturnAmountMore = view.FindViewById<TextView> (Resource.Id.txt_ror_amt_more); rateOfReturnAmount.Click += ShowDisclaimer; rateOfReturnAmountMore.Click += ShowDisclaimer; rateOfReturnAmountMore.SetTextColor(Color.ParseColor(RSColors.MM_BLUE)); lastContributionAmountMore.SetTextColor(Color.ParseColor(RSColors.MM_BLUE)); changeViewBtn.Enabled = true; //adjust the size of changeViewButton here according to the screen width changeViewBtn.LayoutParameters.Width = Resources.DisplayMetrics.WidthPixels * 2 / 7; changeViewBtn.Click += (object sender, EventArgs e) => { if (!isListDisplay) { chartView.Visibility = ViewStates.Gone; list_data.Visibility = ViewStates.Visible; changeViewBtn.Text = "View Chart"; } else { list_data.Visibility = ViewStates.Gone; chartView.Visibility = ViewStates.Visible; changeViewBtn.Text = "View List"; } isListDisplay = !isListDisplay; }; table.ItemClick += OnListItemClick; } catch(Exception e) { Insights.Report (e, new Dictionary <string, string> { {"Source", "Dashboard Load Layout"} }, ReportSeverity.Error); } }