我有一个笔记本应用程序,我想根据屏幕高度限制我的editText最大线条。例如Nexus-6p中的40条线和nexus5中的35条线等。根据屏幕尺寸设置EditText高度和最大线条的限制
所以我的问题是如何限制editText行? 我对此没有任何想法。
UPDATE
我想,当光标到达最后行创建新的笔记页面。
我有一个笔记本应用程序,我想根据屏幕高度限制我的editText最大线条。例如Nexus-6p中的40条线和nexus5中的35条线等。根据屏幕尺寸设置EditText高度和最大线条的限制
所以我的问题是如何限制editText行? 我对此没有任何想法。
UPDATE
我想,当光标到达最后行创建新的笔记页面。
检查你的屏幕大小,并把线条的高度。
Display display = getWindowManager().getDefaultDisplay();
int height = display.getHeight();
//Calculate the lines with the height proportion
edittext.setMaxLines(lines);
您可以通过编写下面的代码获得像素屏幕尺寸。
Display display = getWindowManager().getDefaultDisplay();
Point size = new Point();
display.getSize(size);
int width = size.x;
int height = size.y;
在此之后,你可以把条件,然后分配的EditText以下列方式
editText.setMaxLines();
您的问题将得到解决
对于屏幕尺寸的更多细节请参考链接: Supporting Multiple Screens
我想你应该根据屏幕创建不同的布局文件尺寸。在这些布局文件中,您可以更改EditText的maxLine参数。
检查https://developer.android.com/guide/practices/screens_support.html
不,我正好想要设置最大线条,因为我想在光标到达最后一行时创建新的笔记页面。谢谢 – FarshidABZ
如果您EditText
只包含字符,使用screenSize/editText.getLineHeight()
。但是,如果它也包含一些标记(如Spannable
),则此方法将无法使用,并且可能没有解决方案。
我找到了解决方案,感谢大家的回复。
我的解决办法是:
int lineHeight = getLineHeight();
int height = getHeight();
int maximumLines = height/lineHeight();
,我怎么能计算最大行? – FarshidABZ
@FarshidABZ你可以在任何变量中存储**行**的值,并可以使用任何你想要的逻辑.. –
@FarshidABZ我的答案是否解决了你的问题? –