private SeekBar CreateSeekBar(double value, double min, double max, double increment, int numDecimals, bool showLabel, string tooltip = null) { var seek = new SeekBar(new ContextThemeWrapper(context, Resource.Style.LightGraySeekBar)); var padding = DroidUtils.DpToPixels(20); seek.SetPadding(padding, padding, padding, padding); seek.Min = (int)(min * 1000); seek.Max = (int)(max * 1000); seek.Progress = (int)(value * 1000); seek.ProgressChanged += Seek_ProgressChanged; return(seek); }
public FormSlider(Context context, ReportElement element, int userID, int ownerID, int verifiedID, ReportStatus Reportstatus) : base(context) { resource = context.Resources; contextx = context; OwnerID = ownerID; VerifierID = verifiedID; Popup = new InformationPopup(context); reportStatus = Reportstatus; if (element.Value == "") { element.Value = "0"; } theme = new FormTheme(context, element.Title); RelativeLayout countHolder = new RelativeLayout(context); Orientation = Orientation.Vertical; sharedPreferences = PreferenceManager.GetDefaultSharedPreferences(context); sharedPreferencesEditor = sharedPreferences.Edit(); EditText counterEditText = new EditText(context); counterEditText.Text = element.Value; counterEditText.TextSize = 30; counterEditText.InputType = Android.Text.InputTypes.ClassNumber; counterEditText.SetTextColor(Color.ParseColor((resource.GetString(Resource.Color.green_primary)))); counterEditText.Gravity = GravityFlags.CenterHorizontal; counterEditText.SetPadding(10, 0, 10, 0); counterEditText.SetBackgroundResource(Resource.Drawable.back); counterEditText.SetWidth(200); RelativeLayout.LayoutParams paramsForSliderCounter = new RelativeLayout.LayoutParams(ViewGroup.LayoutParams.WrapContent, ViewGroup.LayoutParams.WrapContent); paramsForSliderCounter.AddRule(LayoutRules.CenterHorizontal); counterEditText.LayoutParameters = paramsForSliderCounter; //causes layout update counterEditText.SetPadding(20, 5, 20, 5); countHolder.AddView(counterEditText); ImageView indicatorImageView = (ImageView)theme.GetChildAt(1); indicatorImageView.SetImageResource(0); //activateElementInfo(element); Popup.activateElementInfo(theme, element); SeekBar slider = new SeekBar(context); slider.Progress = Integer.ParseInt(element.Value); slider.SetPadding(45, 15, 45, 20); slider.Id = element.Id; slider.Max = 31; isArcheived = sharedPreferences.GetBoolean(Resources.GetString(Resource.String.is_archived), false); slider.ProgressChanged += (sender, e) => { if (e.FromUser) { counterEditText.Text = $"{e.Progress}"; if (counterEditText.Text.Equals("0")) { indicatorImageView.SetImageResource(0); } else { indicatorImageView.SetImageResource(Resource.Drawable.checked_forms_create_project_medium); sharedPreferencesEditor.PutBoolean("ReportEditFlag", true); sharedPreferencesEditor.Commit(); } } }; counterEditText.TextChanged += (sender, e) => { if (!counterEditText.Text.Equals("0")) { indicatorImageView.SetImageResource(Resource.Drawable.checked_forms_create_project_medium); if (Integer.ParseInt(counterEditText.Text) > 31 || Integer.ParseInt(counterEditText.Text) < 0) { sliderValuePopUp(context); counterEditText.Text = "0"; slider.Progress = 0; } slider.Progress = Integer.ParseInt(counterEditText.Text); } else { indicatorImageView.SetImageResource(0); } }; //when opening a Draft or Archive if (!counterEditText.Text.Equals("0")) { indicatorImageView.SetImageResource(Resource.Drawable.checked_forms_create_project_medium); } if (OwnerID == 0 || OwnerID == userID) { if (VerifierID != 0) { slider.Enabled = false; counterEditText.Enabled = false; if (reportStatus == ReportStatus.Rejected) { slider.Enabled = true; counterEditText.Enabled = true; } } else { slider.Enabled = true; counterEditText.Enabled = true; } } else { slider.Enabled = false; counterEditText.Enabled = false; } if (isArcheived) { slider.Enabled = false; counterEditText.Enabled = false; } AddView(theme); AddView(countHolder); AddView(slider); SetPadding(45, 10, 45, 20); }