晚上好
我正在尝试将我的文本环绕在 ImageView 周围,就像这里的问题一样:
横向。
但我不希望在 HTML/CSS 中这样做。另外,这个问题已经有 2 年了。我希望有人已经找到解决方法。
另外,我希望我的肖像 View 与 TextView 下的 img View 保持一致,即没有换行。
谁能帮帮我?
最佳答案
解决方法我可以立即想到,从以前的 TextView
格式问题来看,最好的方法是使用 RelativeLayout
,并且只需在其中放置 3 个独立的 View 。它将代表图像旁边的 TextView
,文本旁边的 ImageView
本身,然后是第一个下面的最后一个 TextView
文本,但带有 layout_width="match_parent"
。没有其他方法可以使用 TextView
或 ImageView
否则。
编辑:
如果您非常想使用 1 个 TextView,我认为您可以采取的唯一其他解决方法是,我建议使用 SpannableStringBuilder
和 SpannableString
。出于特定原因,我最初并没有将其作为选项提供给您。如果您返回到您在问题上发布的那个链接,其中一个答案会说他们找到了答案。我相信那个人链接到一个很好的资源,但他们对你的需求是错误的。使用 SpannableStringBuilder
时,您实质上是在创建一个字符串,该字符串可以将单个字符串的多个不同版本合并为一个字符串,例如单个字符串上有 3 种不同的颜色,或者具有 3 种不同大小的字符串,所有这些都合而为一 TextView
。喜欢你需要的。
现在链接谈到了放置图像并让文本很好地环绕它,但这并不是那么简单,而且该示例不是您所需要的。要在一个 TextView
中提供所有内容,您可以做的是在您知道图像将在右侧的前几行之后添加换行符,然后在图像之后不这样做。但问题是它仍然需要进入 RelativeLayout
。但是您只需要一个而不是两个 TextView。只需将 TextView 放在父级的左上角,将 ImageView 放在父级的右上角。这模拟了一个 floating
元素。但我认为这样做麻烦多于其值(value)。这确实是因为您必须进行计算才能确定在哪里放置换行符等。您最好使用两个 TextView
来使它看起来像您需要的那样。因此,在我看来,请勿使用 SpannableStringBuilder
,但如果您不介意尝试找出所有间距,那么它确实可以满足您对单个 TextView 的需求。
关于android - 将 TextView 包裹在 ImageView 周围,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11875339/