PickerXAMARINのカラーラインを変更する

Aug 24 2020

CustomPickerを持っています。ピッカーウィンドウで線の色を変更する方法を教えてください

回答

2 LucasZhang-MSFT Aug 24 2020 at 12:29

リフレクションを使用して実装できます。

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

            }
        }
    }

そして、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);