在 Xamarin Forms 中创建自定义标签背景
Creating Custom label background in Xamarin Forms
我正在使用 Xamarin 表单进行开发,并且我有一个可以包含不同数量文本的标签。
我在表单中使用的平台主要是:Android和UWP(不需要iOS ATM)。
我想给这个标签一个不是矩形的背景,更像是这样的:(chat/message气泡样式)
我已经阅读了一些可能的解决方案,但我对所有可用的选项感到困惑。
根据我对这方面研究的了解以及我在其他平台上的工作,基本上有两种选择:
- 设置图片背景。
- 使用自定义图形控件创建我想要的形状。
我不确定如何在 Xamarin Forms 中实现这些选项中的任何一个,我很乐意得到一些帮助。
简单的解决方案是在 View
中托管 Label
并在标签后面设置 Image
:
<Grid>
<Image Source="message_background.png">
<Label Text="{Binding Message}">
</Grid>
如果您要在屏幕上显示很多这样的内容,这不是很高效。最好的解决方案是为每个平台使用自定义渲染器并在本地实现它。这将提供更好的性能和更大的灵活性。不过,这是更多的维护和初始工作。
您可以阅读自定义渲染器 here
我正在使用 Xamarin 表单进行开发,并且我有一个可以包含不同数量文本的标签。
我在表单中使用的平台主要是:Android和UWP(不需要iOS ATM)。
我想给这个标签一个不是矩形的背景,更像是这样的:(chat/message气泡样式)
我已经阅读了一些可能的解决方案,但我对所有可用的选项感到困惑。
根据我对这方面研究的了解以及我在其他平台上的工作,基本上有两种选择:
- 设置图片背景。
- 使用自定义图形控件创建我想要的形状。
我不确定如何在 Xamarin Forms 中实现这些选项中的任何一个,我很乐意得到一些帮助。
简单的解决方案是在 View
中托管 Label
并在标签后面设置 Image
:
<Grid>
<Image Source="message_background.png">
<Label Text="{Binding Message}">
</Grid>
如果您要在屏幕上显示很多这样的内容,这不是很高效。最好的解决方案是为每个平台使用自定义渲染器并在本地实现它。这将提供更好的性能和更大的灵活性。不过,这是更多的维护和初始工作。
您可以阅读自定义渲染器 here