Xamarin.Formsでラベルに長めの文章を載せたい場合に、画面からはみ出てしまう部分をスクロールで表示したい、ということがあったのでその方法を調べたメモです。(画面はXAMLで書くことを前提とします)
結論から言いますと、このような場合はScrollView
を使えば簡単に実装することができます。
使い方は以下のようにLabel
をScrollView
で囲むだけです。
<ScrollView> <Label Text="ここに長い文章を書く" /> </ScrollView>
Orientation
プロパティを指定することによって、スクロールの方向を「水平方向」「垂直方向」「水平および垂直方向」の3種類から指定することができます。(上のコードのように何も指定しないと垂直方向のスクロールになるようです)
<!--水平方向の場合 --> <ScrollView Orientation="Horizontal"> <Label Text="ここに長い文章を書く" /> </ScrollView>
<!--垂直方向の場合 --> <ScrollView Orientation="Vertical"> <Label Text="ここに長い文章を書く" /> </ScrollView>
<!--水平および垂直方向の場合 --> <ScrollView Orientation="Both"> <Label Text="ここに長い文章を書く" /> </ScrollView>
意外と簡単に出来るんですね!
ところで、上記のOrientation
のように、何も指定しない場合の既定値ってどこかに載ってないんですかね?公式ドキュメントを見ても見つからなかったので気になりました。