close
最近在研究Xamarin.Forms,發現如果要將Picker Control的文字置中或置右的話...,需要使用CustomRender再搭配條件式編譯的方式(假設要放在Share library裡)。
#if __IOS__ using UIKit; using Xamarin.Forms.Platform.iOS; #elif __ANDROID__ using Xamarin.Forms.Platform.Android; using Android.Views; #endif [assembly: ExportRenderer(typeof(Picker), typeof(CustomPickerRenderer))] namespace MilitaryCountdown { public class CustomPickerRenderer : PickerRenderer { protected override void OnElementChanged(ElementChangedEventArgs e) { base.OnElementChanged(e); if (Control != null) { #if __IOS__ Control.TextAlignment = UITextAlignment.Center; #elif __ANDROID__ Control.Gravity = GravityFlags.CenterHorizontal; #endif } } } }
未使用CustomRender的結果:
(Picker中的文字都是置左)
使用CustomRender後的結果圖:
(Picker中的文字就置中了)
參考資料:
https://forums.xamarin.com/discussion/19800/how-can-i-adjust-the-text-alignment-in-date-time-picker
全站熱搜