Android 如何限制TextView上的行

Android 如何限制TextView上的行,android,textview,Android,Textview,我试图将文本视图限制为屏幕长度的1行。我很难阻止它扩展 我试着添加 android:minLines=“1” android:maxLines=“1” TextView xml的属性。这会阻止视图展开,但不会限制文本的字符。例如,如果我在一行中输入了最大字符数,并继续在字符串中添加“(”,我可以看到它的顶部打印在第一行的下面 基本上,我需要一种将字符数量限制到屏幕宽度的方法。我尝试了以下方法: while(txt.getLineCount() > 1) { txt.setText(

我试图将文本视图限制为屏幕长度的1行。我很难阻止它扩展

我试着添加

android:minLines=“1”
android:maxLines=“1”

TextView xml的属性。这会阻止视图展开,但不会限制文本的字符。例如,如果我在一行中输入了最大字符数,并继续在字符串中添加“(”,我可以看到它的顶部打印在第一行的下面

基本上,我需要一种将字符数量限制到屏幕宽度的方法。我尝试了以下方法:

while(txt.getLineCount() > 1) {
    txt.setText(txt.getText().subSequence(0,txt.getText().length()-1));
}
我也尝试过同样的方法,将
txt.getHeight()
txt.getTextSize()
进行比较


我没有主意了。我能做什么?

如果我这样使用文本视图,它将只显示一行:

    <TextView
    android:id="@+id/textView"
    android:maxLines="1"
    android:layout_width="match_parent"
    android:layout_height="wrap_content"/>

如果我以这种方式使用文本视图,它将仅显示一行:

    <TextView
    android:id="@+id/textView"
    android:maxLines="1"
    android:layout_width="match_parent"
    android:layout_height="wrap_content"/>

尝试此操作。这会将textview限制为单行。如果文本不止一行,它将在末尾显示

<TextView
    android:id="@+id/textView"
    android:singleline="true"
    android:ellipsize="end"
    android:layout_width="match_parent"
    android:layout_height="wrap_content"/>

尝试此操作。这会将textview限制为单行。如果文本不止一行,它将在末尾显示

<TextView
    android:id="@+id/textView"
    android:singleline="true"
    android:ellipsize="end"
    android:layout_width="match_parent"
    android:layout_height="wrap_content"/>


是,但如果您将文本设置为包含的字符超过了行中的字符数,特别是像“(”,”这样的高字符“,”!“您可以看到它只在底部边框内打印这些字符的提示。此外,出于我的应用程序的目的,我想限制TextView的字符顺序,使其长度不能超过可见长度是的,但如果您将文本设置为包含的字符数超出了行数,特别是像“(”,”这样的高字符)“,”!“您可以看到它将这些字符的提示打印在底部边框内。此外,出于我的应用程序的目的,我想限制TextView的字符序列,使其长度不能超过可见的长度,因为这是一个TextView,您正在将文本设置到其中。对吗?因此在settext()期间以编程方式控制它.我想你没有领会我的意思。我正在使用setText()。我希望有一种方法将字符数限制为屏幕的长度。正如您所知,每个字符都有不同的宽度,具体取决于字体大小。我需要一种方法来告诉我显示的文本何时超过视图的宽度。此时,我只能说text.setText(text.getText().subSequence(0,text.getText())(图1)要删除将超过视图宽度的字符和/或创建一个新行,因此您希望在textview中只容纳一行,并且这将根据不同屏幕的分辨率而改变。对吗?正确,但我只是根据屏幕宽度来确定视图宽度。在某个时候,我会将其固定为特定的倾角,因为这是您的textview正在将文本设置到其中。对吗?所以在settext()过程中以编程方式控制它。我想你没有领会我的意思。我正在使用settext()。我希望有一种方法将字符数限制为屏幕的长度。正如您所知,每个字符都有不同的宽度,具体取决于字体大小。我需要一种方法来告诉我显示的文本何时超过视图的宽度。此时,我只能说text.setText(text.getText().subSequence(0,text.getText()).length-1)删除将超过视图宽度的字符和/或创建一个新行,因此您希望在textview中只适合一行,这将根据不同的屏幕而变化,因为它们的分辨率不同。对吗?正确,但我只是根据屏幕宽度来确定视图宽度。在某些情况下,我会将其固定为某个倾斜