如何在文本结束后将EditText叠加到TextView上

问题描述 投票:0回答:2

我正在尝试使用 TextView 创建一段文本,并且需要在文本之间插入 EditText,例如填充空白。是否可以构建这样的自定义视图? 由于我是这个论坛的新人,我可以发布任何图像。它应该看起来像下面这样:

世界是整个人类的通用名称[编辑文本],特别是人类的经验、历史或一般的人类状况,全世界,即地球上的任何地方。[2]

[编辑文本]上下文中,它可能指的是:(1)整个物理宇宙,或(2)本体世界(参见世界披露)。在[编辑文本]上下文中,世界通常指物质或世俗领域,而不是天体、精神、超然或神圣的领域。 “世界末日”指的是人类历史最终终结的场景,通常出现在宗教背景下。


好的。现在我可以发布图片了:-) 在下图中,红色单元格是编辑文本。其他彩色文本是文本视图(抱歉,颜色太亮了)。现在,如果我在RelativeLayout中使用leftOf/rightOf方法,它将看起来像第二个图像。我是不是想错了方向?

java android android-edittext textview
2个回答
2
投票

我认为最好的方法是创建您自己的 editText 视图。然而,这可能是一件非常困难的事情。

如果时间紧迫,可以使用HTML并使用webView来显示内容。我很确定在 html 中这个任务要容易得多,因为它已经在很多地方实现了。


编辑:

另一个解决方案是使用 FlowTextView 库。它继承自RelativeLayout,但充当textView。我没有测试它,只是运行了他们的示例(通过一个名为 DevAppDirect 的很酷的应用程序)


2
投票

如果不创建自己的布局管理器,似乎没有一种简单的方法可以做到这一点。请参阅这篇post,了解断行小部件布局实现。您还可以使用 Romain Guy 的

FlowLayout
实现来实现类似的目标。

我以前从未使用过这些实现来实现您描述的“填空”效果,但在我看来,您需要通过布局添加

TextView
EditText
对象
addView
方法。您可能需要进行一些尝试才能使其正常工作,但我认为这应该可以帮助您走上正确的轨道。

© www.soinside.com 2019 - 2024. All rights reserved.