web-dev-qa-db-ja.com

Android画面座標はどのように機能しますか?

私はAndroid Animationを使用していますが、Android座標系は非常に紛らわしいので、Androidでの座標の動作についてこの質問をするためにここにいます。あるビューを別のビューに移動するためにこの画像をフォローしていますが、機能していないようです:

image

143
Yasir Khan

enter image description here

この画像は両方の方向を示しています(横/縦)

MaxXおよびMaxYを取得するには、先に進んでください。

Androidデバイスの画面座標の場合、以下の概念が機能します。

Display mdisp = getWindowManager().getDefaultDisplay();
Point mdispSize = new Point();
mdisp.getSize(mdispSize);
int maxX = mdispSize.x; 
int maxY = mdispSize.y;

編集:-** ** 13より古いAndroid AP​​Iレベルをサポートするデバイスの場合、以下のコードを使用できます。

    Display mdisp = getWindowManager().getDefaultDisplay();
    int maxX= mdisp.getWidth();
    int maxY= mdisp.getHeight();

(x、y):-

1)(0,0)は左上隅です。

2)(maxX、0)は右上隅です

3)(0、maxY)は左下隅です

4)(maxX、maxY)は右下隅です

ここで、maxXとmaxYは、上記のコードで取得した画面の最大の高さと幅(ピクセル単位)です。

264
AAnkit

Android AP​​Iレベル13の場合、これを使用する必要があります。

Display display = getWindowManager().getDefaultDisplay();
Point size = new Point();
display.getSize(size);
int maxX = size.x; 
int maxY = size.y;

(0,0)は画面の左上隅で、(maxX、maxY)は画面の右下隅です。

画面サイズの「getWidth()」は、API 13以降廃止されました

さらに getwidth() および getHeight() はAndroidの Android.view.View クラスのメソッドです。したがって、JavaクラスはViewクラスを拡張し、windowManagerのオーバーヘッドはありません。

          int maxX=getwidht();
          int maxY=getHeight();

それと同じくらい簡単。

17
vids