【问题标题】:Insert Views into TextView Programmatically以编程方式将视图插入 TextView
【发布时间】:2015-10-07 11:12:30
【问题描述】:

我正在设置一个解析系统,我在其中读取 TextView 中的内容,并为在文本中发现的每个链接创建一个视图。目前,我有一个线性布局,文本视图下方的膨胀视图。如何将这些视图直接移动到链接内容下方的文本视图中?

比如我这里有两个链接:

链接 #1

链接 #2

下面我有

[链接#1 气泡] [链接#2 气泡]

我试图让它看起来像这样

链接 #1

[链接 #1 气泡]

链接 #2

[链接 #2 气泡]

编辑

没有两个单独的 TextView。有一个TextView,有两行文字!

我正在寻找的示例:

【问题讨论】:

    标签: android parsing hyperlink textview


    【解决方案1】:

    我决定使用多文本视图系统。我将在插入数据的点拆分内容字符串,并将膨胀的视图放在两个文本视图之间。希望这对我有用!

    【讨论】:

      【解决方案2】:

      你可以这样设置

          TextView textView=(TextView)findViewById(R.id.tv);
          textView.setBackgroundDrawable(R.drawable.image);
      

      如果你在drawable中没有那个图像,你也可以指定Uri

      更新 要将该文本视图创建为链接,您可以执行类似的操作

      Linkify.addLinks(textView,Linkify.WEB_URLS);
      

      【讨论】:

      • 问题是我可能需要在文本中内嵌显示几十个项目,我不知道它可能是什么类型的内容。如果我有指向 google.com/blah 的链接,我需要显示一个链接图标和文本“google.com”,以便为用户提供他们所点击内容的上下文。
      • 我明白了,但如果你只想要一个链接和图片,它会起作用
      • 它不仅仅是图像,它还会解析文本(查找以 x 开头的行),所以这不起作用。不过还是谢谢你的建议!
      【解决方案3】:

      可能有多种方法可以做到这一点。我会这样做,假设您为视图使用布局文件:

      1. 使用相对布局并将透明图像视图放置在文本视图上方。
      2. 将 imageview 的右侧与 TextView 的右侧对齐,并将 imageview 的顶部和底部与 TextView 的顶部和底部对齐。这将其限制在文本视图的右侧并将其包含在文本视图中。
      3. 默认视图的可见性为 GONE。
      4. 当你有东西时,将图像视图设置为内容并更改可见性。

      一些问题: 1. 因为image view是textview的ONTOP,所以会导致与textview的交互问题。 2. 您可以将 ImageView 放在 TextView 后面,但您必须使用文本视图的透明度。这将有助于#1。

      Layout的一些伪示例代码:

      <RelativeLayout ...>
          <TextView android:id="@+id/tv" />
          <ImageView android:id="@+id/bubble" android:layout_alignTop="@id/tv" android:layout_alignBottom="@id/tv" android:layout_alignRight="@id/tv" android:visibility="gone" ...>
      </RelativeLayout>
      

      【讨论】:

      • 嗯,问题是文本是静态的,所以它实际上不是两个 TextView。它是一个文本视图中的一行文本,间隔为两行。
      • 您可以为图像视图添加偏移量。很难想象你想要什么,你能提供一个屏幕截图吗?
      • 啊,我明白了,我也在想EditText,我很困惑。为什么不生成 HTML 内容并将其转储到 textview,或者更好的是,使用 webview?
      • 我不控制后端,所以我必须在前端自己进行解析。它以格式化的 HTML 形式出现在我面前,链接已经包装好。我所能做的就是解析链接并找出它是什么类型的内容,然后显示它。目前它为我显示在下面,但我想内联显示它。我还打算有能力禁用该功能,这样就行不通了。不过感谢您的建议!
      • 嗯.. 好吧,我认为 TextView 不适合您想要的。我不明白为什么在这种情况下使用 webview 与 textview 不同。您仍然解析您的内容,获取图像,以编程方式创建 HTML 内容,而不是使用文本视图,而是使用 Web 视图将生成的 HTML 转储到。
      猜你喜欢
      • 2017-03-10
      • 1970-01-01
      • 1970-01-01
      • 2022-01-21
      • 2014-01-30
      • 2013-02-17
      • 1970-01-01
      • 2014-03-03
      • 1970-01-01
      相关资源
      最近更新 更多