首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Xamrin.Forms条目单元如何更改占位符的字体大小

问Xamrin.Forms条目单元如何更改占位符的字体大小
EN

Stack Overflow用户
提问于 2016-03-29 12:25:50
回答 2查看 4K关注 0票数 2

我在想,如果我可以在EntryCell上更改占位符的字体大小,而不更改EntryCell上的文本的fontSize

是否可以更改占位符的字体大小而不更改文本的字体大小?

代码语言:javascript
复制
 Code = new EntryCell { Label = "Code:*", Text = "", Keyboard = Keyboard.Default, Placeholder = "aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa" };
EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2016-03-30 02:40:07

这是一个为android定制的渲染器。这里我正在修改HintTextColor(占位符)。您可以以类似的方式修改字体。

代码语言:javascript
复制
  using System;
using Xamarin.Forms.Platform.Android;
using Xamarin.Forms;
using communityhealth;
using Android.Graphics;
using communityhealth.Android;


[assembly: ExportRenderer (typeof (MyUsernameEntry), typeof (MyUsernameEntryRenderer))]
[assembly: ExportRenderer (typeof (MyPasswordEntry), typeof (MyPasswordEntryRenderer))]
[assembly: ExportRenderer (typeof (MyEntry), typeof (MyEntryRenderer))]

namespace communityhealth.Android
{
    public class MyEntryRenderer : EntryRenderer
    {
        protected override void OnElementChanged (ElementChangedEventArgs<Entry> e)
        {
            base.OnElementChanged (e);
            if (e.OldElement == null) {   // perform initial setup
                // lets get a reference to the native control
                var nativeEditText = (global::Android.Widget.EditText) Control;
                // do whatever you want to the textField here!
                nativeEditText.SetBackgroundColor(global::Android.Graphics.Color.Transparent);
                nativeEditText.SetTextColor(global::Android.Graphics.Color.White);
                Typeface font = Typeface.CreateFromAsset (Forms.Context.Assets, "Neris-Light.otf");
                nativeEditText.TextSize = 14f;
                nativeEditText.Typeface = font;
            }
        }
    }

    public class MyUsernameEntryRenderer : MyEntryRenderer
    {
        protected override void OnElementChanged (ElementChangedEventArgs<Entry> e)
        {
            base.OnElementChanged (e);

            if (e.OldElement == null) {
                // lets get a reference to the native control
                var nativeEditText = (global::Android.Widget.EditText) Control;
                nativeEditText.Hint = "Username";
                nativeEditText.SetHintTextColor (global::Android.Graphics.Color.White);
                nativeEditText.TextSize = 18f;
            }
        }
    }

    public class MyPasswordEntryRenderer : MyEntryRenderer
    {
        protected override void OnElementChanged (ElementChangedEventArgs<Entry> e)
        {
            base.OnElementChanged (e);

            if (e.OldElement == null) {
                // lets get a reference to the native control
                var nativeEditText = (global::Android.Widget.EditText) Control;
                nativeEditText.Hint = "Password";
                nativeEditText.SetHintTextColor (global::Android.Graphics.Color.White);
                nativeEditText.TextSize = 18f;
            }
        }
    }
}
票数 2
EN

Stack Overflow用户

发布于 2016-03-29 12:47:39

很遗憾,我不会。

表单中没有API来更改占位符字体大小。相反,您可以创建自己的自定义控件来执行此操作,或者使用自定义呈现程序来修改本机视图中的placholder。

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/36284250

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档