2017-06-25 16 views
0

私はXamarinフォームを使用しています。一部のラベルは右に調整されています(例:TextAlignment = TextAlignment.End)。右端に余白ができるように、最後に空白文字が付きます。これはAndroidで設計されているように動作します。しかし、iOSは後続のスペースを単に無視するように見えます。iOSの右揃えラベル

左揃えのラベルの先頭のスペースは、両方のプラットフォームで正常に動作します。

"\u0020""\u00A0","\u2000""\u202F"などの異なる空白文字を試しましたが、iOSではそれらはすべて無視されます。

Label.Marginのラベルは別のBackgroundColorというラベルが付いていないため、使用することはできません。テキストの右側にこの色の小さなスペースを残してください。 Marginはラベルの外と見なされるため、背景色はそこに拡張されません。

ContentViewのラベルをPaddingの中に置きますか?

+0

ラベルをどのようなレイアウトで保持していますか?例えばStackLayout、RelativeLayout –

+0

'AbsoluteLayout' – user1334767

答えて

0

回答

あなたが正しいです:私たちはラベルのPadding、およびMarginは、これを達成しません増加する必要があります!

LabelにはPaddingというプロパティがありません。

  • レイアウト
  • Padding設定するレイアウト
  • からBackgroundColorを割り当て

    1. LabelからBackgroundColorを削除します。

      私はLabelが成り立つレイアウトにBackgroundColorPaddingを設定することをお勧めします

    var stackLayout = new StackLayout 
    { 
        Children = { rightJustifiedLabel }, 
        BackgroundColor = Color.Red, 
        Padding = new Thickness(0, 0, 5, 0) 
    } 
    

    サンプルコード

    public class App : Application 
    { 
        public App() 
        { 
         MainPage = new LabelPage(); 
        } 
    } 
    
    public class LabelPage : ContentPage 
    { 
        public LabelPage() 
        { 
         var rightJustifiedLabel = new Label 
         { 
          Text = "Right-Justified Label", 
          HorizontalTextAlignment = TextAlignment.End, 
         }; 
    
         Content = new StackLayout 
         { 
          Children = { rightJustifiedLabel }, 
          BackgroundColor = Color.Red, 
          Padding = new Thickness(0, 0, 5, 0), 
          HorizontalOptions = LayoutOptions.Center, 
          VerticalOptions = LayoutOptions.Center 
         }; 
        } 
    }
  • +1

    ええ、それは私が考えたものです。 'StackLayout'や' ContentView'やその他の 'Layout'などがあります。 Xamarin Formsは吸う...一般的に、私は自分が今まで気にしていたはずの軽度のUIの問題に苦労している。 – user1334767