如何通过获取行号来获取edittext的水平位置?

时间:2015-10-11 07:50:32

标签: android android-edittext textview

我希望获得edittext行的y位置并输入行号,并返回它的y位置 像这样: Int YpositionOfLineNumber = getYposition(int lineNumber); 你能救我吗?

1 个答案:

答案 0 :(得分:0)

EditText包含一个处理文本布局的Layout对象,并公开有关行大小,间距,偏移等的各种信息。此对象有几种获取行的坐标信息的方法在EditText中。根据“y位置”的确切含义,有Layout#getLineTop(int line)方法或Layout#getLineBottom(int line)方法。

例如,要获取名为EditText的{​​{1}}的第23行顶部的y坐标:

edit

请注意,这些方法会针对Layout layout = edit.getLayout(); int topLine = layout.getLineTop(22); 对象的区域进行衡量。如果您的Layout具有EditText重力,那么结果应该是准确的。如果不是,那么结果将必须通过top的垂直偏移来调整。