代码之家  ›  专栏  ›  技术社区  ›  Vincent Bottini

如何更改Xamarin Forms picker GUI的背景色?

  •  0
  • Vincent Bottini  · 技术社区  · 2 年前

    我想在这之前说,我研究过的大多数线程都显示了如何更改picker元素本身的背景色,而不是GUI。

    白色的Android GUI真的很令人讨厌,与我的应用程序的其他部分不匹配,我想更改背景的标题和颜色。我该如何做到这一点?此外,如果可能的话,如何更改此元素的尺寸?

    [我试图更改的GUI。]
    enter image description here

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

    0 回复  |  直到 2 年前
        1
  •  0
  •   BenCamps    2 年前

    您可能已经注意到,Picker控件上没有允许您更改打开Picker时显示的弹出窗口外观的属性。

    就编写具有“PopupBackgroundColor”属性的自定义Picker控件而言,这条路线可能不会很有成效,也不会创建一堆额外的工作来使您的应用程序具有一致的外观。

    在Android上,Xamarin使用Android的 AlertDialog 。不幸的是,无法通过此类或 AlertDialob.Builder 。然而,在Android上 customize the appearance of the AlertDialog 为您的整个应用程序使用主题。这可能是Android中的首选方法,因为它将使所有选择器对话框保持一致。请注意,这也会更改应用程序中其他弹出窗口的外观。这可能更像是一个功能而不是一个bug。

    在iOS上Xamarin使用 UIAlertController 也没有办法在弹出菜单上设置背景颜色。我不太熟悉iOS上的主题,但似乎你只有两个选项——浅色(白色背景)或深色(黑色背景)主题。

    因此,请查看Native平台的主题设置,看看这是否与您设置应用程序外观的方式一致。如果您想同时处理浅色和深色主题,请查看 ApplicationThemeBinging 标记扩展以处理浅色和深色主题。