晚上好,
我正在尝试将文本包裹在图像视图中,就像这里提出的问题一样:
Textview 环绕 View https://stackoverflow.com/questions/3626750/textview-wrap-around-view
在风景中。
但我不想在 HTML / CSS 中这样做。另外,这个问题已经有两年了。我希望有人能找到解决这个问题的方法。
另外,我希望保持我的肖像视图与文本视图下的 img 视图保持一致,即没有换行。
谁能帮我?
我可以从我的头脑和以前的问题中思考一个解决办法TextView
格式化,最好的方法是,比方说,RelativeLayout
,然后只需在其中放置 3 个单独的视图即可。它将代表TextView
就在图像旁边,ImageView
其本身位于文本旁边,然后是最后一个TextView
在第一个文本下,但带有layout_width="match_parent"
。没有其他方法可以做到这一点TextView
or ImageView
否则。
EDIT:
如果您非常想使用 1 TextView,我相信您可以做的唯一其他解决方法是,我建议使用SpannableStringBuilder
with SpannableString
。出于特定原因,我最初没有给你这个选项。如果您返回到您在问题上发布的链接,其中一个答案会说他们找到了答案。我相信那个人与良好的资源相关联,但他们对您的需求的理解是错误的。使用时SpannableStringBuilder
,您本质上是在创建一个字符串,该字符串可以将单个字符串的多个不同版本合并为一个,例如单个字符串上有 3 种不同的颜色,或者具有 3 种不同大小的字符串,全部都在一个字符串中TextView
。就像你需要的一样。
现在,该链接讨论了放置图像并让文本很好地环绕它,但它并不那么简单,并且该示例不是您所需要的。您可以采取什么措施来提供这一切TextView
是在您知道图像位于右侧的前几行之后添加换行符,然后在图像之后不这样做。但问题是它仍然需要进入RelativeLayout
。但您只需要一个,而不是两个 TextView。只需将 TextView 放在父级的左上角,将 ImageView 放在父级的右上角即可。这模拟了一个floating
元素。但我认为这样做麻烦多于其价值。这确实是因为你必须进行计算来找出换行符等的位置。你最好使用两个TextView
让它看起来像你需要的。所以我认为,不要使用SpannableStringBuilder
,但是如果您不介意尝试找出所有间距,那么这确实可以通过单个 TextView 满足您的需要。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)