2つのラベルが隣り合っています。最初のものはかなり長く、必要に応じて切り捨てられるはずです。2番目は完全に表示されるはずです-何があっても。
これは私のコードです:
MainPage = new ContentPage {
Content = new StackLayout {
Orientation = StackOrientation.Horizontal,
VerticalOptions = LayoutOptions.CenterAndExpand,
BackgroundColor = Color.Orange,
Padding = 10,
Children = {
new Label {
Text = "The answer to life the universe and everything",
HorizontalOptions = LayoutOptions.Start,
LineBreakMode = LineBreakMode.TailTruncation,
BackgroundColor = Color.Yellow,
},
new Label {
Text = "42",
HorizontalOptions = LayoutOptions.EndAndExpand,
LineBreakMode = LineBreakMode.NoWrap,
BackgroundColor = Color.Yellow,
},
},
},
};
これは私が得るものです:
私の質問:「42」が途切れるのを防ぐにはどうすればよいですか?
現在の結果の説明: 2番目のラベルが小さすぎる理由はわかっていると思います。両方のラベルのサイズは、最初のテキストが切り捨てられる前にネゴシエートされます。したがって、最初のラベルの方がうまく処理できますが、両方のラベルを少し縮小する必要があります。
アイデア1 :(スタックレイアウトではなく)相対レイアウトを試してみました。ただし、これはかなり複雑なアプローチであり、iOSとAndroidでは異なる結果が得られます。だから私はもっと簡単な修正を望んでいます。
アイデア2:レイアウトまたはサイズネゴシエーション方法の1つをオーバーライドする必要がありますか?たぶん、「42」レイアウトはそれが望ましい幅を得るのを強制することができます。
アイデア3:サイズネゴシエーションを期待どおりに処理するiOSおよびAndroid用のカスタムラベルレンダラーを思い付くことができるかもしれません。
更新
「42」はほんの一例です。私の最終的なアプリでは、これは動的に変化し、異なる長さの文字列になる可能性があります。したがって、設定MinimumWidthRequest
は、レンダリングされた文字列の幅を知らなければ役に立ちません。
「42」が途切れるのを防ぐにはどうすればよいですか?
あなたは、設定することができMinimumWidthRequest
、「42」でLabel
カットオフされるのを防ぐために。
詳細についてMinimumWidthRequest
は、ドキュメントの備考セクションを参照してください。
コード例:
MainPage = new ContentPage {
Content = new StackLayout {
Orientation = StackOrientation.Horizontal,
VerticalOptions = LayoutOptions.CenterAndExpand,
BackgroundColor = Color.Orange,
Padding = 10,
Children = {
new Label {
Text = "The answer to life the universe and everything The answer to life the universe and everything",
HorizontalOptions = LayoutOptions.Start,
LineBreakMode = LineBreakMode.TailTruncation,
BackgroundColor = Color.Yellow,
},
new Label {
MinimumWidthRequest = 50,
Text = "42",
HorizontalOptions = LayoutOptions.EndAndExpand,
LineBreakMode = LineBreakMode.NoWrap,
BackgroundColor = Color.Yellow,
},
},
},
};
結果は次のとおりです。
この記事はインターネットから収集されたものであり、転載の際にはソースを示してください。
侵害の場合は、連絡してください[email protected]
コメントを追加