我有一个如下的LinearLayout。
<LinearLayout
android:id="@+id/messageLayout"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginBottom="5dp"
android:layout_marginLeft="5dp"
android:layout_marginRight="5dp"
android:orientation="horizontal" />
在此布局中,动态 TextView 在运行时添加。但在运行时插入之前,我尝试手动添加 5 个 texview。这就是它的样子。
这些文本视图的布局是
<TextView
android:id="@+id/textView5"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="Small Text"
android:textAppearance="?android:attr/textAppearanceSmall" />
我需要最后一个文本正常地正常跟随,而不是像上图那样分解。
我哪里错了?你能帮我解决这个问题吗?
编辑
我有一条消息要显示。例如,英格兰在决赛中击败澳大利亚。这些粗体文本附有一些 ID,单击时会打开一个对话框。所以我打破了文本并将它们添加为不同的 TextView,这样我就可以轻松地附加一个 onClickListener。我需要消息来查看单个文本。希望它现在更有意义。
编辑 2
我使用 clickableSpan 作为解决方法。
SpannableString spannableString = new SpannableString(message);
ClickableSpan clickableSpan = new ClickableSpan() {
@Override
public void onClick(View widget) {
Log.i(TAG_NAME, "clickable span...");
}
};
spannableString.setSpan(clickableSpan, 0, 13, Spanned.SPAN_EXCLUSIVE_EXCLUSIVE);
spannableString.setSpan(clickableSpan, 30, 40, Spanned.SPAN_EXCLUSIVE_EXCLUSIVE);
我要做的就是向文本视图添加多个跨度。但是,看起来只有最后一个跨度有效。我哪里错了?