JackPot16
JackPot16

Reputation: 97

Creating Custom label background in Xamarin Forms

I am developing in Xamarin forms, and I have a Label that can contain a varying amount of text.

The platforms I use in forms are primarily: Android and UWP (no need for iOS ATM).

I want to give this label a background that is not rectangular and that is something more like this: (chat/message bubble style)

Image of desired background effect

I have read about some possible solutions but I'm confused from all the options that are available.

From what I understand of my research around this and from my work with other platforms there are basically two options:

  1. Set an image background.
  2. Use Custom graphic controls to create the shape I want.

I'm not sure how to implement any of these options in Xamarin Forms, I'll be glad to get some help.

Upvotes: 0

Views: 756

Answers (1)

Jon G Stødle
Jon G Stødle

Reputation: 3904

The easy solution would be to host the Label inside a View and set have an Image behind the label:

<Grid>
    <Image Source="message_background.png">
    <Label Text="{Binding Message}">
</Grid>

This is not very performant if you're going to have a lot of these on screen. The best solution would then be to use a custom renderer for each platform an implement it natively. This would give much better performance much more flexibility. It's more maintenance and initial work though.

You can read up on custom renderers here

Upvotes: 1

Related Questions