我正在使用 Xamarin 表单构建跨平台应用程序,当 Entry 元素在 Android 中呈现时,我遇到了占位符文本的问题。占位符在 iOS 中按预期显示,但在 Android 中为空白。在 Google 中搜索后,我明白了这个问题:基本上 Android 文本编辑器字段没有占位符属性,您必须设置它的提示。
我不明白的是如何以编程方式执行此操作。我知道如何扩展 Editor 类,但是如何告诉 Xamarin 表单,对于 Android,Entry 单元格应该与我的自定义编辑器元素相关,该元素在设置占位符时执行一些操作来分配提示?或者,还有更好的方法?提前致谢
最佳答案
Xamarin 表单 Entry View 有一个 PlaceHolder 属性,该属性也适用于 Android: https://developer.xamarin.com/api/property/Xamarin.Forms.Entry.Placeholder/
这是为条目定义 plcaeholder 的示例:
Entry myEntry = new Entry
{
Placeholder = "This is a placeholder"
};
如果您使用自定义渲染器,您仍然可以在 PCL 项目中将占位符与自定义条目一起使用,或者可以按以下方式在自定义渲染器中使用控件的 Hint 属性:
public class MyEntryRenderer: EntryRenderer
{
protected override void OnElementChanged(ElementChangedEventArgs<Entry> e)
{
base.OnElementChanged(e);
if (Control != null)
{
Control.Hint = "This is my placeholder";
}
}
}
如果仍然无法正常工作,我建议您将 Xamarin.Forms nuget 包更新到最新版本。
关于xamarin - Xamarin Forms 中的 Android 占位符\提示文本,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38029247/