我有一个笔记本应用程序,我想根据屏幕高度限制editText最大行数。例如nexus-6p中的40行和nexus5中的35行等。
所以我的问题是如何限制editText行? 我对此没有任何想法。
更新
我想在光标到达最后一行时创建新的音符页面。
答案 0 :(得分:2)
我找到了解决方案,感谢大家的回复。
我的解决方案是:
int lineHeight = getLineHeight();
int height = getHeight();
int maximumLines = height / lineHeight();
答案 1 :(得分:0)
检查您的屏幕尺寸并根据高度放置线条。
Display display = getWindowManager().getDefaultDisplay();
int height = display.getHeight();
//Calculate the lines with the height proportion
edittext.setMaxLines(lines);
答案 2 :(得分:0)
通过编写以下代码,您可以在像素中获得屏幕尺寸。
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
答案 3 :(得分:0)
我认为你应该根据屏幕尺寸创建不同的布局文件。在这些布局文件中,您可以更改EditText的maxLine参数。
检查https://developer.android.com/guide/practices/screens_support.html
答案 4 :(得分:0)
如果您的EditText
只包含字符,请使用screenSize/editText.getLineHeight()
。但是,如果它还包含一些标记(如Spannable
),则此方法将无用,并且可能没有解决方案。