我希望按钮的文本颜色在 iOS 和 Android 上都相同。所以我想我只需将代码中的 TextColor 属性设置为我想要的颜色。在 iOS 上,禁用的文本颜色仍然是灰色(这是我想要的),但是,在 Android 上,禁用的文本颜色与启用的文本颜色相同。如何使 Android 上的禁用文本颜色变为灰色(或禁用按钮的默认颜色)?
谢谢
最佳答案
这是 Xamarin.Forms 中的默认行为。要解决该问题并实现自定义颜色,您可以:
因为触发器是实现您想要的目标的最直接、最一致的方式,所以我只会介绍这一点。您可以看到 xamarin docs有关自定义渲染器的更多信息。
使用触发器,您可以在未启用时将字体颜色动态更改为灰色。见docs有关触发器的更多信息。
<Button Text="I am a Button">
<Button.Triggers>
<Trigger TargetType="Button"
Property="IsEnabled" Value="true">
<Setter Property="TextColor" Value="Red" />
<!-- red is the desired color when the button is enabled.-->
</Trigger>
<Trigger TargetType="Button"
Property="IsEnabled" Value="false">
<Setter Property="TextColor" Value="Gray" />
<!-- gray is the desired color when the button is disabled.-->
</Trigger>
</Button.Triggers>
</Button>
关于button - Xamarin Forms Button TextColor 在 Android 上的表现与在 iOS 上不同,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32402234/