Xamarin.FormsでImageの上にLabelを重ねる
Xamarinです。Xamarin.Formsです。 画像があって、画像の上に文字を重ねる必要があったので、試してみました。 ここではImageとLabelの組み合せでやっていますが、多分他の物でも出来ると思います。
といっても方法はかなり単純で、Gridレイアウトに場所を指定せずに書くだけです。 XAMLで書くと以下のような感じ。
<Grid>
<Image x:Name="image" />
<Label Text="Hello World" VerticalOptions="Center" HorizontalOptions="Center" />
</Grid>
これでimageの上にHello Worldという文字が重なります。簡単。
C#だけで書く場合は以下のようになります。
Content = new Grid {
Children = {
new Image { Source = /* ここは適当に */ },
new Label { Text = "Hello World", HorizontalOptions = LayoutOptions.Center, VerticalOptions = LayoutOptions.Center },
},
};
やっぱり簡単。
ちなみに、重なりの順序は記述した順番になるようです。 つまり、後にあるものほど上に、始めにあるものほど奥に。