根据屏幕大小设置EditText高度和最大行的限制

时间:2017-02-17 09:35:45

标签: android android-edittext

我有一个笔记本应用程序,我想根据屏幕高度限制editText最大行数。例如nexus-6p中的40行和nexus5中的35行等。

所以我的问题是如何限制editText行? 我对此没有任何想法。

更新

我想在光标到达最后一行时创建新的音符页面。

5 个答案:

答案 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),则此方法将无用,并且可能没有解决方案。

相关问题