簡體   English   中英

選擇器 xamarin 表單上的文本對齊方式

[英]text alignment on a picker xamarin forms

我在將擴展選擇器上的文本與中心對齊時遇到問題,我原以為它會是這樣的......

在此處輸入圖片說明

這是模擬器上的選擇器...

在此處輸入圖片說明

我如何讓 SIZE 文本位於中間但保持行擴展也可以通過 xaml 代碼而不是 c# 代碼完成

干杯。

更新***

其實很簡單:

<Picker Title="Selecione o bairro" HorizontalTextAlignment="Center"/> 

...老的

為此,您需要使用CustomRenderer

安卓

[assembly: ExportRenderer(typeof(BetterPicker), typeof(BetterPickerRenderer))]

namespace MDWS.Droid
{
    public class BetterPickerRenderer : PickerRenderer
    {
        protected override void OnElementChanged(ElementChangedEventArgs<Picker> e)
        {
            base.OnElementChanged(e);

            if (Control != null)
            {
                Control.Gravity = GravityFlags.CenterHorizontal;
            }
        }
    }
}

IOS:

[assembly: ExportRenderer(typeof(BetterPicker), typeof(BetterPickerRenderer))]

namespace YourNameSpace.iOS
{
    public class BetterPickerRenderer : PickerRenderer
    {
        protected override void OnElementChanged(ElementChangedEventArgs<Picker> e)
        {
            base.OnElementChanged(e);

            if (Control != null)
            {
                Control.TextAlignment = UITextAlignment.Center;
            }
        }
    }
}

恐怕您將不得不為此實現一個CustomRenderer
對於每個平台OnElementChanged您必須設置Picker標題的對齊方式。

幸運的是, 官方指南中很好地解釋了這個主題。

PS:歡迎來到 stackoverflow.com,請花點時間閱讀這篇文章,它很好地解釋了為什么發布代碼截圖是一種不好的做法。

祝你好運!

我剛剛遇到了同樣的問題,並注意到如果您使用“使用”設置 android 渲染器

using Xamarin.Forms.Platform.Android.AppCompat;

它保留了原來的樣式

你可以試試 LayoutOptions.Center

否則,我們需要為此自定義渲染器。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM