Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/xamarin/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Android占位符\ Xamarin表单中的提示文本_Xamarin_Xamarin.android_Xamarin.forms - Fatal编程技术网

Android占位符\ Xamarin表单中的提示文本

Android占位符\ Xamarin表单中的提示文本,xamarin,xamarin.android,xamarin.forms,Xamarin,Xamarin.android,Xamarin.forms,我正在使用Xamarin表单构建一个跨平台的应用程序,当条目元素在Android中呈现时,我遇到了条目元素占位符文本的问题。占位符在iOS中按预期显示,但在Android中为空。通过谷歌搜索,我理解了这个问题:基本上Android文本编辑器字段没有占位符属性,你必须设置它的提示 我不明白的是如何通过编程实现这一点。我知道如何扩展编辑器类,但是我如何告诉Xamarin forms,对于Android,Entry单元格应该与我的自定义编辑器元素相关,该元素在设置占位符时执行一些操作来分配提示?还是有

我正在使用Xamarin表单构建一个跨平台的应用程序,当条目元素在Android中呈现时,我遇到了条目元素占位符文本的问题。占位符在iOS中按预期显示,但在Android中为空。通过谷歌搜索,我理解了这个问题:基本上Android文本编辑器字段没有占位符属性,你必须设置它的提示


我不明白的是如何通过编程实现这一点。我知道如何扩展编辑器类,但是我如何告诉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软件包修复了它。很高兴我能帮上忙:)