我有一个如下的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" />
在此布局中,动态TextViews在运行时添加。但在运行时插入之前,我尝试手动添加5个texviews。这就是它的样子。
那些textview的布局是
<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);
我要做的就是在textview中添加多个span。但是,看起来只有最后一个跨度才有效。我哪里错了?
答案 0 :(得分:0)
将每个textView的权重赋予1
试试这个:
<TextView
android:id="@+id/textView5"
android:layout_width="0dp"
android:layout_height="wrap_content"
android:text="Small Text"
android:layout_weight="1"
android:textAppearance="?android:attr/textAppearanceSmall" />
希望这有效