android:single和android:maxLines的区别

android:singleLine="true"

android:lines="1"

android:maxLines="1"

都可以保证控件只显示一行,但他们还是有区别的

android:singleLine

Constrains the text to a single horizontally scrolling line instead of letting it wrap onto multiple lines, and advances focus instead of inserting a newline when you press the enter key. The default value is false (multi-line wrapped text mode) for non-editable text, but if you specify any value for inputType, the default is true (single-line input field mode).


android:maxLines

Makes the TextView be at most this many lines tall. When used on an editable text, the inputType attribute's value must be combined with the textMultiLine flag for the maxLines attribute to apply.

android:lines

Makes the TextView be exactly this many lines tall.

maxLines 是在限制高度, singleLine 是强制不让换行。具体效果有什么区别呢? 从高度来讲是一样的,两者肯定都显示一行,但从换行的位置来讲就有区别了,maxLines并不会改变其换行的位置,而singleLine则会。从这个角度讲,singleLine的显示会好一些,因为如果超过一行singleLine会在一行内显示,后面加上"...",而maxlines="1" 则不会,它依然会在原来换行的位置换行,所以有时候一行不满,但是却不显示剩下的部分。

对比下:(Text 的内容为:新建文件夹qqqqqqqqqqqqqqqqqqqqqqqq

maxLines = “1”  或lines = “1”显示: 



singleLine=“true" 显示:



你可能感兴趣的:(android)