将文本视图环绕在 IMG 视图周围



晚上好,

我正在尝试将我的文本包裹在图像视图周围,就像这里提出的问题一样:

文本

视图环绕视图

在风景中。

但我不希望在HTML/CSS中执行此操作。 另外,这个问题已经有2年了。我希望有人已经找到了解决这个问题的方法。

此外,我希望将我的肖像视图保持在文本视图下的 img 视图,即没有换行。

谁能帮我?

我可以从

我的头顶上想到一个解决方法,从以前的TextView格式问题中,最好的方法是拥有一个RelativeLayout,并在其中放置 3 个单独的视图。它将表示紧挨着图像的TextView,文本旁边的ImageView本身,然后是第一个文本下的最后一TextView,但带有layout_width="match_parent"。没有其他方法可以使用TextViewImageView来执行此操作。

编辑:

如果您如此打算使用 1 TextView,我相信您可以做的唯一其他解决方法,我建议将SpannableStringBuilderSpannableString 一起使用。出于特定原因,我最初没有将其作为选项。如果你回到你在问题上发布的那个链接,其中一个答案说他们找到了答案。我相信那个人链接到一个好的资源,但他们对你的需求是错误的。使用 SpannableStringBuilder 时,您实际上是在创建一个字符串,该字符串可以将单个字符串的许多不同版本合并为一个字符串,例如单个字符串上有 3 种不同颜色,或具有 3 种不同大小的字符串,所有这些都在一个TextView中。喜欢你需要的。

现在链接谈到放置图像并让文本很好地环绕它,但它并不那么简单,而且该示例不是您需要的。为了在一个TextView中提供所有内容,您可以做的是在知道图像将位于右侧的前几行之后添加换行符,然后在图像之后不这样做。但问题是它仍然需要进入RelativeLayout.但是,您只需要一个,而不是两个文本视图。只需将文本视图放在父项的左上角,将图像视图放在父项的右上角即可。这将模拟floating元素。但我认为这样做比它的价值更麻烦。这实际上是因为您必须进行计算才能弄清楚在哪里放置换行符等。你最好使用两个TextView,让它看起来像你需要的。所以在我看来, 不要使用 SpannableStringBuilder ,但如果您不介意尝试找出所有间距,那确实为您提供了单个 TextView 所需的内容。

最新更新