How can i get center x,y of my view in android?

前端 未结 5 1755
温柔的废话
温柔的废话 2020-12-29 19:29

I am attaching an imageview up on my frame layout. Here i want to get my imageview center co-ordinates. i will use that same co-ordinates to set my imageview in next layout.

相关标签:
5条回答
  • 2020-12-29 20:15

    You can use getPivotX() and getPivotY(), it always keep in center of view even rotate view.

    0 讨论(0)
  • 2020-12-29 20:16

    centre of the imageView will be

     centreX=imageView.getX() + imageView.getWidth()  / 2;
     centreY=imageView.getY() + imageView.getHeight() / 2;
    

    but make sure you call it after the imageView created

    0 讨论(0)
  • 2020-12-29 20:18

    Try this :

    ImageView my_image = (ImageView) findViewById(R.id.my_imageView);  
    
    Rect rectf = new Rect();
    my_image.getLocalVisibleRect(rectf);
    
    Log.d("WIDTH        :",String.valueOf(rectf.width()));
    Log.d("HEIGHT       :",String.valueOf(rectf.height()));
    Log.d("left         :",String.valueOf(rectf.left));
    Log.d("right        :",String.valueOf(rectf.right));
    Log.d("top          :",String.valueOf(rectf.top));
    Log.d("bottom       :",String.valueOf(rectf.bottom));
    

    Hope this helps you.

    Thanks.

    0 讨论(0)
  • 2020-12-29 20:22

    As @aiueoH mentioned, you can use getPivotX() and getPivotY().

    Try using this for finding coordinates of centre:

    int centreX = view.getPivotX()/2;
    int centreY = view.getPivotY()/2;
    
    0 讨论(0)
  • 2020-12-29 20:32

    if you wish to align a view at the center of other view then you can use this -

    float center_x = parent_view.getX() + parent_view.getWidth()/2 - child_view.getWidth()/2;
    

    and then obviously using -

    child_view.setX(center_x);
    
    0 讨论(0)
提交回复
热议问题