Cambia le linee di colore nel selettore XAMARIN
Aug 24 2020
Ho il mio CustomPicker. Per favore dimmi come posso cambiare il colore della linea nella finestra di selezione

Risposte
2 LucasZhang-MSFT Aug 24 2020 at 12:29
Potresti implementarlo usando la riflessione .
private void setNumberPickerDividerColor(TextColorNumberPicker numberPicker)
{
TextColorNumberPicker picker = numberPicker;
Java.Lang.Reflect.Field[] pickerFields =
Java.Lang.Class.FromType(typeof(NumberPicker)).GetDeclaredFields();
foreach (Java.Lang.Reflect.Field pf in pickerFields)
{
if (pf.Name.Equals("mSelectionDivider"))
{
pf.Accessible = true;
pf.Set(picker, new ColorDrawable(Android.Graphics.Color.Red));
}
}
}
E l'ho richiamato dopo aver chiamato SetDisplayedValues
if (model.Items != null && model.Items.Any())
{
// set style here
picker.MaxValue = model.Items.Count - 1;
picker.MinValue = 0;
picker.SetDisplayedValues(model.Items.ToArray());
picker.WrapSelectorWheel = false;
picker.Value = model.SelectedIndex;
}
setNumberPickerDividerColor(picker);
