如何找到文本的整个X和Y坐标?

时间:2018-09-10 06:53:52

标签: android textview

我正在开发儿童字母学习应用程序。我需要从textview获取整个文本区域的X和Y坐标,以允许它们仅绘制文本。例如:我的文本视图中有一个字母A,我需要允许用户仅在A文本上方绘制该字母,并需要将绘图阻止在文本之外。

我唯一的问题是我不知道如何查找字母的文本区域,因为我增加了文本的字体大小以使其显示更大并在屏幕上居中对齐。

任何建议都会很有帮助。

2 个答案:

答案 0 :(得分:0)

这样的东西(https://www.youtube.com/watch?v=15B3L78jWfI)?

要阻止用户在给定区域之外进行绘制,请重写(12:22)onTouchEvent(),您可以放置​​一个子句来检查给定坐标是否在内部。

要检查它们是否在其中,可以编写一个简单的函数:

int MIN_X;
int MAX_X;
int MIN_Y;
int MAX_Y;

boolean isInside(int xCord, int yCord){

    if(xCord>=MIN_X && xCord<=MAX_X && yCord>=MIN_Y && yCord<=MAX_Y)
        return true;

    return false;
}

每次选择的区域更改时,您只需覆盖最小值和最大值。

答案 1 :(得分:0)

尝试下面提到的代码:

ViewTreeObserver vto = textView.getViewTreeObserver(); 
vto.addOnGlobalLayoutListener (new OnGlobalLayoutListener() { 
@Override 
public void onGlobalLayout() {
    textView.getViewTreeObserver().removeOnGlobalLayoutListener(this); 
     // Initialize a new integer array two hold the TextView x y position
            int[] location = new int[2];

            textView.getLocationOnScreen(location);

} 

});