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

Crw*_*ryn 3 xamarin.android xamarin xamarin.forms

我正在使用 Xamarin 表单来构建跨平台应用程序,当它们在 Android 中呈现时,我遇到了 Entry 元素的占位符文本问题。占位符在 iOS 中按预期显示,但在 Android 中为空白。在 Google 中搜索后,我明白了这个问题:基本上,Android 文本编辑器字段没有 Placeholder 属性,您必须将其设置为 Hint。

我不明白的是如何以编程方式执行此操作。我知道如何扩展 Editor 类,但是我如何告诉 Xamarin 表单,对于 Android,Entry 单元格应该与我的自定义 Editor 元素相关,该元素在设置 Placeholder 时执行一些操作来分配 Hint?或者,还有更好的方法?提前致谢

Avi*_* K. 5

Xamarin 表单条目视图具有适用于 android 的 PlaceHolder 属性:https : //developer.xamarin.com/api/property/Xamarin.Forms.Entry.Placeholder/

这是为条目定义 plcaeholder 的示例:

Entry myEntry = new Entry
{
   Placeholder = "This is a placeholder"
};
Run Code Online (Sandbox Code Playgroud)

如果您使用的是自定义渲染器,您仍然可以在您的 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";                           
        }         

    }
}
Run Code Online (Sandbox Code Playgroud)

如果它仍然不适合您,我建议您将 Xamarin.Forms nuget 包更新到最新版本。