我的问题可能听起来有点奇怪但我会在这里尝试更好地解释。
我在android中的一个TextView,在我活动的下半部分。我想将它限制为2行,可以通过在TextView xml元素中添加以下行来轻松访问:
android:maxLines="2"
好的,现在我们将它限制在2行。 然后,在我的活动中,我做了:
termsandconditions = (TextView) findViewById(R.id.textView1);
termsandconditions.setText(terms);
好的,现在我有一个包含条款和条件的大字符串,但由于xml属性限制为2行。
现在我的问题是,在限制为2行后如何剪切它,并将字符串与“Read more”连接起来?我不需要它在同一个textView或其他任何东西,我只想它看起来像:
术语:blablablalblalbla blal blablalblalblalblalbla lalblalblalblalblalblalb lalblalblalb lalblalblalblalblalb lalblalblalb lalblalblalblalb lalb bla查看更多。
谢谢,我希望你能理解我的问题。
答案 0 :(得分:0)
您可以使用setEllipsize (TextUtils.TruncateAt where)
的{{1}}方法或TextView
XML属性。
public void setEllipsize(TextUtils.TruncateAt where)在API中添加 1级
导致文本中长于视图宽度的单词 椭圆化而不是在中间破碎。你可能也想 setSingleLine()或setHorizontallyScrolling(boolean)来约束 文字到一行。使用null关闭ellipsizing。如果 setMaxLines(int)已用于设置两行或更多行END和 仅支持MARQUEE *(其他椭圆化类型不支持 任何东西)。
相关的XML属性
android:ellipsize
答案 1 :(得分:0)
可能有点hacky,但这是我的建议:
<RelativeLayout
xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="wrap_content"
>
<TextView
android:id="your_text_view"
android:text="long long long text"
android:layout_width="match_parent"
android:layout_height="wrap_content"
/>
<TextView
android:id="link"
android:text="View More"
android:onClick="addMoreLinesAndHideThisTextView"
android:layout_alignParentRight="true"
android:layout_alignParentBottom="true"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
/>
</RelativeLayout>
可能需要进行一些额外的调整,但我认为你有了这个想法。