Xamarin.Forms 仅在一个平台 (iOS) 上更改条目的占位符颜色和文本颜色
Posted
技术标签:
【中文标题】Xamarin.Forms 仅在一个平台 (iOS) 上更改条目的占位符颜色和文本颜色【英文标题】:Xamarin.Forms Change placeholder color and textcolor of entry ONLY on ONE platform (iOS) 【发布时间】:2020-12-21 10:08:06 【问题描述】:在我的 xamarin.forms 应用程序中,我正在使用此条目:
<Entry
x:Name="entry_passwort_login"
PlaceholderColor="#ffffff"
TextColor="#ffffff"
IsPassword="true"
FontFamily="Galvji-01.ttf"
HorizontalOptions="FillAndExpand"
VerticalOptions="Start"
Placeholder="Passwort"/>
它在 android 上看起来很棒,因为背景是黑色的。我还在 styles.xml 中进行了更改,以使元素的突出显示颜色变为黄色。
但是ios在后台渲染一个带有白框的条目:
如您所见,因此占位符和写在其上的实际文本都不可见。但我不想改变整个背景。
如何将 IOS 条目的占位符和文本颜色设置为仅黑色,同时保持所有 android 设置不变?
谢谢!
【问题讨论】:
您想从 XAML 中执行此操作吗?还是有风格?还是你不在乎?无论哪种方式,您都在寻找这个:docs.microsoft.com/en-us/xamarin/xamarin-forms/xaml/xaml-basics/… 【参考方案1】:您可以在 iOS 中指定其他颜色。例如,我在 iOS 中将 PlaceholderColor
设置为红色,如下代码所示。
<Entry
x:Name="entry_passwort_login"
TextColor="#ffffff"
FontFamily="Galvji-01.ttf"
IsPassword="true"
HorizontalOptions="FillAndExpand"
VerticalOptions="Start"
Placeholder="Passwort">
<Entry.PlaceholderColor>
<OnPlatform x:TypeArguments="Color">
<On Platform="iOS" Value="Red"></On>
<On Platform="Android" Value="#ffffff"></On>
</OnPlatform>
</Entry.PlaceholderColor>
</Entry>
【讨论】:
如果以上回答对您有帮助,请不要忘记采纳为回答(点击此回答左上角的“✔”),对有类似问题的人会有所帮助以上是关于Xamarin.Forms 仅在一个平台 (iOS) 上更改条目的占位符颜色和文本颜色的主要内容,如果未能解决你的问题,请参考以下文章
Xamarin.Forms ImageButton 不起作用,单击不起作用,调试断点仅在 iOS 上根本不会被命中
在 iOS 上的 Xamarin.Forms.Maps 中使用 Xamarin.Essentials Geolocation 获取设备位置的奇怪问题