应用渲染器时,拾取器布局已更改

时间:2017-11-17 13:05:53

标签: c# xamarin xamarin.forms custom-renderer

为什么在应用自定义渲染器时,Picker的布局会如此改变?

应用渲染器后的

布局: enter image description here

如何保留原始布局但应用自定义渲染器?

此外,确认按钮不再显示。它们是白色的,如果你点击它们应该工作的地方。

自定义渲染器:

public class MyPickerRenderer : PickerRenderer
{
    protected override void OnElementChanged(ElementChangedEventArgs<Picker> e)
    {
        base.OnElementChanged(e);

        if (Control != null)
        {
            var spinner = new Spinner(this.Context);

            Control.SetBackgroundColor(Color.Transparent.ToAndroid());
            Control.InputType = InputTypes.TextFlagNoSuggestions;
            Control.SetTextColor(Color.Red.ToAndroid());

            spinner.SetBackgroundColor(Color.Red.ToAndroid());
        }
    }
}

1 个答案:

答案 0 :(得分:1)

我有同样的问题,发现解决方案是这样的: 确保您使用的是 Xamarin.Forms.Platform.Android.AppCompat.PickerRenderer  的 Xamarin.Forms.Platform.Android.PickerRenderer

从这里回答: https://forums.xamarin.com/discussion/100317/custom-renderer-for-picker-automatically-changes-layout-in-app-without-overrides