フレームレイアウトにimageviewを添付しています。ここで、imageviewセンターの座標を取得したいと思います。同じ座標を使用して、次のレイアウトでイメージビューを設定します。イメージビューの中心座標を取得する方法を教えてください。
前もって感謝します
フレームレイアウトにimageviewを添付しています。ここで、imageviewセンターの座標を取得したいと思います。同じ座標を使用して、次のレイアウトでイメージビューを設定します。イメージビューの中心座標を取得する方法を教えてください。
前もって感謝します
imageViewの中心は
centreX=imageView.getX() + imageView.getWidth() / 2;
centreY=imageView.getY() + imageView.getHeight() / 2;
ただし、imageViewが作成された後で必ず呼び出してください
getPivotX()
とを使用することができgetPivotY()
、ビューを回転させても常にビューの中心に保持されます。
これを試して :
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));
これがお役に立てば幸いです。
ありがとう。
@aiueoHが述べたように、を使用できますgetPivotX() and getPivotY()
。
中心の座標を見つけるためにこれを使用してみてください:
int centreX = view.getPivotX()/2;
int centreY = view.getPivotY()/2;
ビューを他のビューの中央に揃えたい場合は、これを使用できます-
float center_x = parent_view.getX() + parent_view.getWidth()/2 - child_view.getWidth()/2;
そして明らかに-を使用して
child_view.setX(center_x);