2

我的问题可能听起来有点奇怪,但我会尝试在这里更好地解释它。

我在 android 中有一个 TextView,位于我活动的下部。我希望将其限制为 2 行,可以通过在 TextView xml 元素中添加以下行来轻松访问:

android:maxLines="2"

好的,现在我们将其限制为 2 行。然后,在我的活动中,我制作:

termsandconditions = (TextView) findViewById(R.id.textView1);
termsandconditions.setText(terms);

好的,现在我有一个包含条款和条件的大字符串,但由于 xml 属性限制为 2 行。

现在我的问题是,如何在将其限制为 2 行后将其剪切,并将字符串与“阅读更多”连接起来?我不需要它在同一个 textView 或其他任何东西中,我只希望它看起来像:

术语: blablablalblalbla blal blablalblalblalblalbla lalblalblalblalblalblalb lalblalblalb lalblalblalblalblalb lalblalblalb lalblalblalblalb lalb bla 查看更多。

谢谢,我希望你能理解我的问题。

4

2 回答 2

0

您可以使用setEllipsize (TextUtils.TruncateAt where)方法TextViewandroid:ellipsizeXML 属性。

public void setEllipsize (TextUtils.TruncateAt where) 在 API 级别 1 中添加

导致文本中长于视图宽度的单词被椭圆化而不是在中间断开。您可能还需要 setSingleLine() 或 setHorizo​​ntallyScrolling(boolean) 将文本限制为单行。使用 null 关闭省略号。如果 setMaxLines(int) 已用于设置两行或多行,则仅支持 END 和 MARQUEE*(其他省略号类型不会执行任何操作)。

相关 XML 属性

android:ellipsize
于 2013-05-08T22:06:17.403 回答
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>

可能需要一些额外的调整,但我想你明白了。

于 2013-05-08T22:13:45.140 回答