2017-07-17 60 views
0

我正在Xamarin表单中开发,并且我有一个标签可以包含不同数量的文本。在Xamarin表单中创建自定义标签背景

我在表单中使用的平台主要是:Android和UWP(不需要iOS的ATM)。

我想给这个标签背景不是长方形,这是更多的东西是这样的:(聊天/消息气泡样式)

Image of desired background effect

我看过一些可能的解决方案,但我米从所有可用的选项混淆。

据我了解我的周围这项研究,并从我与其他平台的工作基本上有两种选择:

  1. 设置图像的背景。
  2. 使用自定义图形控件来创建我想要的形状。

我不确定如何在Xamarin Forms中实现这些选项,我很乐意为您提供帮助。

回答

1

最简单的解决办法是举办View和集合内LabelImage背后的标签:

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

这不是很高性能的,如果你要对屏幕有很多的这些。那么最好的解决方案就是为每个平台使用一个自定义的渲染器来实现它。这会给予更好的性能更多的灵活性。尽管如此,这还是维护和初期工作。

您可以自定义渲染here

+1

设置背景图片来源将是一个坏主意,阅读起来,在OP是说文字的体积可能是动态的,所以高度将相应调整,那么这将导致扭曲图像和糟糕的用户体验。你的第二个答案应该是你的第一个答案。 =) – Digitalsa1nt

+0

我知道渲染器的基础知识。但是应该如何使用渲染器来实现它?你能给我一些指导吗? – JackPot16

+0

类似于这个https://stackoverflow.com/questions/43761186/how-to-create-a-speech-bubble-in-uwp和这个https://stackoverflow.com/questions/17541739/how-to- add-the-bubbles-to-textview-android顶部匹配分别搜索“uwp bubble textblock”和“android bubble textview” –