2016-06-25 26 views
3

我使用Xamarin表單來構建跨平臺應用程序,並且在Android中呈現Entry元素時佔位符文本存在問題。佔位符在iOS中按預期顯示,但在Android中爲空白。在Google中搜索後,我明白了這個問題:基本上,Android文本編輯器字段沒有佔位符屬性,您必須將其設置爲提示。Xamarin表單中的Android佔位符提示文本

我不明白的是如何以編程方式做到這一點。我知道如何擴展Editor類,但是我怎樣才能告訴Xamarin表單,Android的Entry單元應該與我的自定義Editor元素有關,當Placeholder被設置時,它會做一些事情來分配提示。或者,還有更好的方法?在此先感謝

回答

4

Xamarin形式進入視圖中有一個在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包到最新版本。

+0

完美,謝謝。必須在舊版本上。更新Nuget包修復了它。 – Crwydryn

+0

很高興我能幫忙:) –