在Android上,我的选择器正在呈现为
我更喜欢将其渲染为
这不是我遇到困难的颜色,而是它被渲染为旋转器并且我不想要那样。< / p>
我通过数据绑定到ItemsSource属性来填充选择器,如此处所述。
https://docs.microsoft.com/en-us/xamarin/xamarin-forms/user-interface/picker/populating-itemssource
这是我的选择者
<Picker ItemsSource="{Binding AmountFrequencyStrategies}" />
这是我的观点模型
private List<string> amountFrequencyStrategies;
public PageViewModel()
{
this.amountFrequencyStrategies = new List<string>{ "one", "two", "three"};
}
public List<string> AmountFrequencyStrategies => this.amountFrequencyStrategies;
我的xamarin.forms版本是3.0.0.482510
我的Android清单文件包含以下行
<uses-sdk android:minSdkVersion="15" android:targetSdkVersion="27" />
答案 0 :(得分:1)
您将必须为选择器编写自己的渲染器,或者根本不使用选择器,并滚动自己的跨平台UI来选择项目。您可以根据自己的经验将内置的Xamarin Forms选择器渲染到Android上的Spinner。
自定义渲染器指南:https://docs.microsoft.com/en-us/xamarin/xamarin-forms/app-fundamentals/custom-renderer/
您可能希望查看Android上的Xamarin.Forms Picker Renderer的源代码,以使您了解如何制作自己的而不使用Spinner的方法: 未使用AppCompat:https://github.com/xamarin/Xamarin.Forms/blob/master/Xamarin.Forms.Platform.Android/Renderers/PickerRenderer.cs 使用AppCompat: https://github.com/xamarin/Xamarin.Forms/blob/master/Xamarin.Forms.Platform.Android/AppCompat/PickerRenderer.cs
实际上看起来好像他们没有在使用Spinner。在非AppCompat渲染器上,看起来只使用了Android NumberPicker: https://github.com/xamarin/Xamarin.Forms/blob/master/Xamarin.Forms.Platform.Android/Renderers/PickerRenderer.cs#L110
在PickerRenderer的AppCompat版本上,看起来像是在使用警告对话框: https://github.com/xamarin/Xamarin.Forms/blob/master/Xamarin.Forms.Platform.Android/AppCompat/PickerRenderer.cs#L109
答案 1 :(得分:0)
您可以参考:Bindable Picker Control for Xamarin.Forms 希望它可以解决你的问题