2

我必须Textview在 Android 中显示从xml提要中获取的内容。

让我们把这是我的Textview

Mallika Sherawat's upcoming movie Dirty Politics

在这里,我为这些动态创建了布局Textview

LinearLayout.LayoutParams textLayoutParams = new LinearLayout.LayoutParams(LayoutParams.MATCH_PARENT, 50);
textLayoutParams.gravity = Gravity.CENTER;

TextView tv = new TextView(this);
tv.setSingleLine(false);
tv.setEllipsize(null);
tv.setHorizontallyScrolling(false);
tv.setTextColor(Color.parseColor("#a7a9ac"));
tv.setText(Appscontent.Sub_arraylisttwo.get(j));
tv.setLayoutParams(textLayoutParams);
tv.setBackgroundColor(Color.parseColor("#414042"));

我在这里提到了宽度 50。

所以文本在小内容上显示得很好。Textview有时我有更多内容Textview,这意味着我怎样才能显示Textview如下:

Mallika Sherawat's 
upcoming movie Dirty...

我的意思是文本必须在文本扩展后显示最多 2 行,这意味着只需添加...上面示例中的内容。我怎样才能做到这一点?

4

4 回答 4

5

尝试:

tv.setMaxLines(2);
tv.setEllipsize(TextUtils.TruncateAt.END);
于 2013-03-18T13:46:04.303 回答
1

尝试设置 android:ems="10" 它会使你的edittext变得那么宽并包裹文本

于 2014-09-13T04:29:39.680 回答
0

尝试将每个 TextView 的 android:ellipsize 设置为 none。有关更多详细信息,请参阅有关此属性的文档。

来自 xml:

<TextView ... android:ellipsize="none" />

从代码:

TextView textView = new TextView(context);
 ...
 textView.setEllipsize(null);
于 2013-03-18T13:52:36.913 回答
0

您可以尝试为TextViewin定义文本strings.xml。然后,如果您从 html 设置,则它可能会根据屏幕大小换行:

所以你可以试试这个:

<string name="nice_html">
<![CDATA[Don&apos;t worry we will never share this with anyone<br/>
By Clicking register you are indicating that you have read and agreed to the <br/>
 <u>Terms of services</u>  and <u>Privacy Policy</u>
]]></string>

然后,在您的代码中:

TextView foo = (TextView)findViewById(R.id.foo); foo.setText(Html.fromHtml(getString(R.string.nice_html)));
于 2013-03-18T13:54:08.293 回答