正如您可能已经注意到的那样,Picker控件上没有允许您更改打开Picker时显示的弹出窗口外观的属性。 至于编写具有“PopupBackgroundColor”属性的自定义Picker控件,这条路线可能不会很有成效,也不会创建一堆额外的工作来使您的应用程序具有一致的外观。 在Android上,Xamarin使用Android的AlertDialog。不幸的是,没有办法通过这个类或AlertDialob.Builder来定制背景。但是在Android上,使用主题的整个应用程序都可以使用customize the appearance of the AlertDialog。这可能是Android中的首选方法,因为它将使所有选择器对话框保持一致。请注意,这也会更改应用中其他弹出窗口的外观。这可能是一个功能,而不是一个错误。 在iOS上,Xamarin也使用UIAlertController,无法在弹出窗口中设置背景颜色。我对iOS上的主题不太熟悉,但似乎你只有两个选择,一个是浅色(白色背景),另一个是深色(黑色背景)。 因此,请查看原生平台主题设置,看看它是否与您设置应用外观的方式一致。如果你想同时处理浅色和深色主题,可以看看ApplicationThemeBinging标记扩展来同时处理浅色和深色主题。
1条答案
按热度按时间scyqe7ek1#
正如您可能已经注意到的那样,Picker控件上没有允许您更改打开Picker时显示的弹出窗口外观的属性。
至于编写具有“PopupBackgroundColor”属性的自定义Picker控件,这条路线可能不会很有成效,也不会创建一堆额外的工作来使您的应用程序具有一致的外观。
在Android上,Xamarin使用Android的
AlertDialog
。不幸的是,没有办法通过这个类或AlertDialob.Builder
来定制背景。但是在Android上,使用主题的整个应用程序都可以使用customize the appearance of the AlertDialog。这可能是Android中的首选方法,因为它将使所有选择器对话框保持一致。请注意,这也会更改应用中其他弹出窗口的外观。这可能是一个功能,而不是一个错误。在iOS上,Xamarin也使用
UIAlertController
,无法在弹出窗口中设置背景颜色。我对iOS上的主题不太熟悉,但似乎你只有两个选择,一个是浅色(白色背景),另一个是深色(黑色背景)。因此,请查看原生平台主题设置,看看它是否与您设置应用外观的方式一致。如果你想同时处理浅色和深色主题,可以看看ApplicationThemeBinging标记扩展来同时处理浅色和深色主题。