我创建了一个代码,它会返回我可以放入 android 编辑文本的行数,但不能正常工作。该代码位于编辑文本的 TextWatcher 中。
我的代码是:
Math.round((dpFromPx(edittext.getHeight())-67)/spFromPx(edittext.getTextSize()))
这-67
是该编辑文本在顶部和底部的边距之和。
用于将 px 转换为 dp 和 px 转换为 sp 的方法如下
private float dpFromPx(float px){
return px / this.getResources().getDisplayMetrics().density;
}
public float spFromPx(Float px) {
float scaledDensity = this.getResources().getDisplayMetrics().scaledDensity;
return px/scaledDensity;
}
我认为该代码应该告诉我可以容纳在编辑文本中的最大行数,但总是返回一个比可以容纳在编辑文本中的行数更多的行数。
那么,怎么了?