如何更改 Xamarin Forms 选取器 GUI 的背景颜色?

How to change the background color of a Xamarin Forms picker GUI?

提问人:Vincent Bottini 提问时间:10/2/2023 最后编辑:yaccVincent Bottini 更新时间:10/4/2023 访问量:50

问:

我想先说一下,我研究过的大多数线程都显示了如何更改选择器元素本身的背景颜色,而不是 GUI。

白色的Android GUI真的很令人反感,与我的应用程序的其余部分不匹配,我想更改背景的标题和颜色。如何实现此目的?另外,如果可能,如何更改此元素的尺寸?

[我正在尝试更改的 GUI。
enter image description here

我尝试创建 CustomPickerRenderer 并更改背景颜色,但这会在单击之前更改元素的背景。这不是我想要实现的目标。

Forms 用户界面 Xamarin 元素 选取器

评论

0赞 FreakyAli 10/3/2023
您无法更改此设置,唯一的方法是编写自己的自定义控件!
0赞 Guangyu Bai - MSFT 10/4/2023
需要使用自定义 rander 在 Xamarin 中更改选取器的 GUI。下面是有关如何使用自定义渲染来更改可参考的选取器的代码。

答:

0赞 BenCamps 10/3/2023 #1

您可能已经注意到,Picker 控件上没有任何属性可用于更改打开选取器时显示的弹出窗口的外观。

就编写自己的具有“PopupBackgroundColor”属性的自定义 Picker 控件而言,此路由可能不会很有成效,也不会创建大量额外的工作来使应用具有一致的外观。

在 Android 上,Xamarin 使用 Android 的 .不幸的是,没有办法通过此类或 .但是,在 Android 上,可以使用主题为整个应用程序自定义 AlertDialog 的外观。这可能是 Android 中的首选方法,因为它将使所有选取器对话框保持一致。请注意,这也会更改应用中其他弹出窗口的外观。这可能更像是一个功能而不是一个错误。AlertDialogAlertDialob.Builder

在 iOS 上,Xamarin 也使用,无法在弹出窗口中设置背景颜色。我对 iOS 上的主题不太熟悉,但似乎您只有两个选项:浅色(白色背景)或深色(黑色背景)主题。UIAlertController

因此,请查看本机平台主题设置,看看这是否符合您设置应用外观的方式。如果要同时处理浅色和深色主题,请查看 ApplicationThemeBinging 标记扩展以处理浅色和深色主题。