takataka430’s blog

.NET系を中心に勉強したことのまとめを書きます

ラベルをスクロール表示する方法【Xamarin.Forms】

Xamarin.Formsでラベルに長めの文章を載せたい場合に、画面からはみ出てしまう部分をスクロールで表示したい、ということがあったのでその方法を調べたメモです。(画面はXAMLで書くことを前提とします)

結論から言いますと、このような場合はScrollViewを使えば簡単に実装することができます。
使い方は以下のようにLabelScrollViewで囲むだけです。

<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のように、何も指定しない場合の既定値ってどこかに載ってないんですかね?公式ドキュメントを見ても見つからなかったので気になりました。

参考URL

Xamarin.Forms ScrollView - Xamarin | Microsoft Docs