我希望获得edittext行的y位置并输入行号,并返回它的y位置
像这样:
Int YpositionOfLineNumber = getYposition(int lineNumber);
你能救我吗?
答案 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
的垂直偏移来调整。