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

标签 xamarin xamarin.android xamarin.forms

我正在使用 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/

相关文章:

c# - Linq 表达式返回 null

android - 我可以将 Xamarin.Android 移植到 Xamarin.ios 应用程序吗?

xamarin - 在 Xamarin.Forms 中,如何使用 RG.Plugin 在所需位置设置弹出页面?

android - 多平台开发 : use recent Visual Studio with older version of Android

c# - 使用 xamarin.android 创建自定义通知

c# - EditText 上的 Xamarin SetError 验证

android - Monodroid 将 imageview 设置为存储在 sdcard 上的图像

Xamarin - ITMS-90683 : Missing Purpose String in Info. plist

xamarin.forms - 如何在 Xamarin Forms 中水平展开标签

c# - 在 xamarin 表单中使用 yyy 编写特征时如何修复异常设备 xxx 已断开连接?