2016-03-29 11 views

答えて

2

ここはアンドロイド用のカスタムレンダラです。ここでは、HintTextColor(プレースホルダ)を変更しています。同様の方法でフォントを変更することができます。

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; 
      } 
     } 
    } 
} 
+0

ありがとう@darrellbooker ..私はそれを試す時間があるとき私はあなたの答えを受け入れる:) –

2

用フォントサイズの変更なしでプレースホルダのフォントサイズを変更するには離れがあります。

プレースホルダのフォントサイズを変更するAPIはFormsにありません。代わりに、独自のカスタムコントロールを作成してカスタムレンダラを使用して、ネイティブビューのplacholderを変更することができます。

+0

私はアンドロイドプロジェクトを開発しています。 –

関連する問題