如何在Android(Java)中以编程方式创建TextView多行

我想让我的textview多线

图片: http : //s13.postimg.org/y0q78e1yv/Capture.png

但是如何让我的文字多行?

哪个属性?

TextView txt_tweet = (TextView) View.inflate(this, R.layout.special_textview, null); 

special_textview

     

    您想在同一文本视图中显示不同的文本吗? 如果是这样,请使用两个文本视图,如:

         

    远程android:inputType =“textMultiLine”,这是一个EditText属性。

    如果您只想在同一文本视图中使用多行:

     android:maxLines="5"//optional to set max numbers of lines android:minLines="2"//optional to set min numbers of lines android:singleLine="false"//set false to allow multiple line android:lines="2" //or more 

    如果您要使用的此textview属于ListView,只需使用:

     android.R.layout.simple_list_item_2 

    它将为您提供两个文本视图。

    你可以这样做:

     txt_tweet.setSingleLine(false); txt_tweet.setImeOptions(EditorInfo.IME_FLAG_NO_ENTER_ACTION); 

    我按照以下方式做到了:

     tv.setElegantTextHeight(true); tv.setInputType(InputType.TYPE_TEXT_FLAG_MULTI_LINE); tv.setSingleLine(false); 

    首先用它的Html等价“ <br> ”替换“ \n ”,然后在字符串上调用Html.fromHtml() 。 按照以下步骤:

     String text= model.getMessageBody().toString().replace("\n", "<br>") textView.setText(Html.fromHtml(Html.fromHtml(text).toString())) 

    这非常有效。

    添加答案:订单很重要!

    确保 setMinLines 之前调用setInputType!

    TextView必须将“singleLine”属性设置为false。 你也应该设置’ellipsize’来包装文本:

     android:singleLine="false" android:ellipsize="end" 

    在布局中

     android:lines="8" //Total Lines prior display android:minLines="6" //Minimum lines android:maxLines="10" //Maximum Lines 

    只需删除此行:

      android:inputType="textMultiLine" 

    EditTexts的inputType