2016-03-29 7 views

Antwort

2

Hier ist ein benutzerdefinierter Renderer für Android. Hier modifiziere ich den HintTextColor (Platzhalter). Sie können die Schriftart auf ähnliche Weise ändern.

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

danke @darrellbooker .. ich werde deine antwort annehmen, wenn ich eine zeit habe, es zu versuchen :) –

2

Leider nein, zu ändern.

Es gibt keine API in Forms, um die Schriftgröße des Platzhalters zu ändern. Stattdessen können Sie hierfür ein benutzerdefiniertes Steuerelement erstellen oder einen benutzerdefinierten Renderer verwenden, um den Plocholder in der systemeigenen Ansicht zu ändern.

+0

Könnten Sie bitte fügen Sie einige Code Ich entwickle Android-Projekt. –

Verwandte Themen