Android:多个textview就像单个文本

标签 android textview spannablestring

需要一个接一个地格式化多个 TextView ,就像一个独特的文本 block 一样,有一种方法可以实现这一点吗?

像这样

__________________________
|                        |
|                        |
| aaaaaa bbbbbbbbbbbbbbb |
| bbbbbbbbbb cccccc dddd |
| ddddddddddddd.         |
|                        |

我无法将textview放入LinearLayout中,因为我将获得以下效果:

__________________________
|                        |
|                        |
| aaaaaa bbbbbbbbbbbbbbb |
|        bbbbbbbbbb      |
|                        |
|                        |

有什么想法吗?

更新:已通过 SPANNABLES 解决

    String[] testString = { "this is a test ", "for testing click in different region", "of the textview"};
    LinearLayout linear = new LinearLayout(this);
    TextView textview = new TextView(this);
    textview.setMovementMethod(LinkMovementMethod.getInstance());
    SpannableStringBuilder builder = new SpannableStringBuilder();
    int start = 0;
    int end = 0;

    for (String span : testString) {
        start = end == 0 ? end : end + 1;
        end = start + span.length();
        final String spanned = span;
        builder.append(span);
        builder.setSpan(new ClickableSpan() {

            @Override
            public void onClick(View widget) {
                Log.e("Clicked on:", spanned);
            }
        }, start, end, 0);
        Log.e("TEST", span);
    }

    textview.append(builder);

    linear.addView(textview);
    setContentView(linear);

最佳答案

您可以使用FlowLayout如果你真的需要这个。但如果可以的话,您应该使用一个 textView 并使用 spannables 设置文本格式.

关于Android:多个textview就像单个文本,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19540473/

相关文章:

android - 以编程方式执行 adb 命令时出错

机器人向下滚动

android - MotionLayout中的TextView在大小动画上闪烁

android - 如何使用菜单选项从另一个 Activity 格式化一个 Activity

java - 将标签添加到 ClickableSpan

android - 如何在android中实现 "Rich Edittext"

android - 无法在android中设置推送通知声音

android - PWA 何时以及如何更新自身?

Android SpannableString 在部分文本后面设置背景

android - Unity:添加Facebook SDK后无法构建到Android —严重错误:碰撞属性