Get position of ImageView relative to screen programmatically

后端 未结 3 1546
猫巷女王i
猫巷女王i 2020-12-29 08:14

I want to get the position of my ImageView programmatically. By position, I mean the distance in pixel from top of the screen to that ImageView. I

3条回答
  •  陌清茗
    陌清茗 (楼主)
    2020-12-29 09:09

    You need to wait for the callback when the layout has been placed with children views. This is the listener you need to add to your root view in order to calculate the coordinates for your image. Otherwise it will return 0.

    getViewTreeObserver().addOnGlobalLayoutListener(new OnGlobalLayoutListener() {
        public void onGlobalLayout() {
            getViewTreeObserver().removeGlobalOnLayoutListener(this);
    
            int[] locations = new int[2];
            image.getLocationOnScreen(locations);
            int x = locations[0];
            int y = locations[1];
        }
    });
    

提交回复
热议问题