Android占位符\ Xamarin表单中的提示文本
我正在使用Xamarin表单构建一个跨平台的应用程序,当条目元素在Android中呈现时,我遇到了条目元素占位符文本的问题。占位符在iOS中按预期显示,但在Android中为空。通过谷歌搜索,我理解了这个问题:基本上Android文本编辑器字段没有占位符属性,你必须设置它的提示Android占位符\ Xamarin表单中的提示文本,xamarin,xamarin.android,xamarin.forms,Xamarin,Xamarin.android,Xamarin.forms,我正在使用Xamarin表单构建一个跨平台的应用程序,当条目元素在Android中呈现时,我遇到了条目元素占位符文本的问题。占位符在iOS中按预期显示,但在Android中为空。通过谷歌搜索,我理解了这个问题:基本上Android文本编辑器字段没有占位符属性,你必须设置它的提示 我不明白的是如何通过编程实现这一点。我知道如何扩展编辑器类,但是我如何告诉Xamarin forms,对于Android,Entry单元格应该与我的自定义编辑器元素相关,该元素在设置占位符时执行一些操作来分配提示?还是有
我不明白的是如何通过编程实现这一点。我知道如何扩展编辑器类,但是我如何告诉Xamarin forms,对于Android,Entry单元格应该与我的自定义编辑器元素相关,该元素在设置占位符时执行一些操作来分配提示?还是有更好的办法?提前感谢Xamarin表单条目视图有一个占位符属性,也适用于android: 这是为条目定义plcaeholder的示例:
Entry myEntry = new Entry
{
Placeholder = "This is a placeholder"
};
如果您使用的是自定义渲染器,您仍然可以将PCL项目中的占位符与自定义条目一起使用,或者可以以下列方式使用自定义渲染器中控件的提示属性:
public class MyEntryRenderer: EntryRenderer
{
protected override void OnElementChanged(ElementChangedEventArgs<Entry> e)
{
base.OnElementChanged(e);
if (Control != null)
{
Control.Hint = "This is my placeholder";
}
}
}
公共类MyEntryRenderer:EntryRenderer
{
受保护的覆盖无效OnElementChanged(ElementChangedEventArgs e)
{
基础。一个要素发生变化(e);
if(控件!=null)
{
Control.Hint=“这是我的占位符”;
}
}
}
如果它仍然不适用于您,我建议您将您的Xamarin.Forms nuget包更新到最新版本。非常好,谢谢。一定是旧版本的。更新Nuget软件包修复了它。很高兴我能帮上忙:)