gethitRect(),我做错了,这是怎么回事?

时间:2010-10-14 13:45:18

标签: android image

我一直在top, bottom, left, right = 0。我想我做错了,这是正确的方法吗? TIA

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 个答案:

答案 0 :(得分:2)

由于命中矩形位于父坐标空间中,因此父项首先需要布局其在onCreate()期间尚未完成的子项。请查看解决方案here,了解在post()中运行的示例。如果您有自定义视图,则getHitRect()中的onDraw()也会为您提供正确的尺寸。