gethitRect (), я делаю это неправильно, как это работает? - PullRequest
3 голосов
/ 14 октября 2010

Я продолжаю получать top, bottom, left, right = 0. Я думаю, что я делаю это неправильно, что является правильным способом? ТИА

в onCreate()

    ImageView trash = (ImageView) findViewById(R.id.dropTarget_trash);
    trash.setOnTouchListener(this);
    Rect trashHit = new Rect();
    trash.getHitRect(trashHit);
    Log.d(TAG,"Trash left:" + trashHit.left + " right: " + trashHit.right + "  top: " + trashHit.top + " bottom: " + trashHit.bottom);

1 Ответ

2 голосов
/ 14 октября 2010

Поскольку прямоугольник попадания находится в родительском координатном пространстве, родитель должен сначала расположить своих дочерних элементов, чего он еще не сделал во время onCreate(). Взгляните на решение здесь для примера запуска в post(). Если у вас есть пользовательский вид, getHitRect() в пределах onDraw() также даст вам правильные размеры.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...