Android EditText 3.5行

时间:2015-02-17 13:08:26

标签: android android-edittext lines

  

如果行数超过3,我必须在EditText中显示最多3.5行。   我尝试了很多财产,但仍无法实现。

     

如果设置了android:layout_height =“wrap_content”,它将显示N个   线。

     

我们是否有任何财产组合或我必须这样做   手动。

     

说我修改了一些高度到android:layout_height =“36dp”和   如果行数>> = 4,我必须设置android:layout_height =“48dp”   通过这种方式,我将实现我正在寻找的目标。

修改

public void onTextChanged(CharSequence s, int start, int before, int count){                    
    FrameLayout.LayoutParams lp  = (FrameLayout.LayoutParams) txtMessage.getLayoutParams();
    if(txtMessage.getLineCount() > 3){
        if(lp.height != 0) {
            txtMessage.getLayoutParams().height = 0;
        }
    }else if(lp.height != ViewGroup.LayoutParams.WRAP_CONTENT){
        txtMessage.getLayoutParams().height = ViewGroup.LayoutParams.WRAP_CONTENT;
    }
}

为我显示至少3行:)

2 个答案:

答案 0 :(得分:2)

您可以使用android:maxLines="3"强制EditText显示不超过3行。

但是对于3.5,您只能通过手动设置EditText高度来实现此目的。

答案 1 :(得分:0)

使用以下代码编辑

使用android:inputType="textMultiLine"android:lines="3"

<EditText
    android:id="@+id/edittext"
    android:layout_width="match_parent"
    android:layout_height="wrap_content"
    android:inputType="textMultiLine"
    android:lines="3" />