1

我们可以用这个设置单行

TextView textView = (TextView) view.findViewById(R.id.someTextView);
textView.setSingleLine(true);

但是对于单行事件的获取状态getSingleLine()不会退出。

如何检查文本视图的单行是打开(真)还是关闭(假)?

我的目标 API 级别是 15。

4

2 回答 2

3

我相信 singleLine 已弃用,您应该textView.setMaxLines(1)改用,然后使用textView.getMaxLines()so 来了解 textView 是否为 singleLine :

boolean isSingleLine = textView.getMaxLines() == 1;

编辑 API 15

但是,如果您singleLine在这种情况下使用来了解 TextView 是否为 singleLine,您可以getTransformationMethod()从 API 1 开始使用,如下所示:

boolean isSingleLine = textView.getTransformationMethod() == SingleLineTransformationMethod.getInstance();
于 2016-12-21T15:41:50.623 回答
1

你应该使用getMaxLines().

tv.setSingleLine( true ) || tv.setMaxLines( 1 );

int maxLines = tv.getMaxLines();

Assert.assertTrue( 1, maxLines );

的文档setSingleLine()说:

将此字段的属性(行、水平滚动、转换方法)设置为单行输入。

我对此的理解是,他们只是在周围加上一个漂亮的包装纸setMaxLines(1)和其他一些包装纸。

幕后,这种方法确实将行数设置为 1。

于 2016-12-21T15:40:40.190 回答