2016-12-25 2 views
0

SurfaceViewを使用していくつかの境界線を手動で描画しようとしていますが(実際には)、View.getX(),、getHeight()、およびgetWidth()を使用しています。画面。locationOnScreen_xがView.getX()によって返された値と異なる原因は何ですか?

問題は、境界線が必要な場所からオフセットされて描画されていることです。線の相対的な配置は正しいですが、それらを下に移動して右に移動するだけです。

「Layout」>locationOnScreen_xと「Drawing」>xの変数を取得するためにAndroidデバイスモニタを使用し、それらが異なっていたことがわかりました。 locationOnScreen_xは正しい値70を示し、xは0.0を示します。私はgetX()xの値を返すと仮定します。これは明らかに望ましくありません。

私の質問は、2つの部分である:

  1. どのように私はプログラム的に代わりlocationOnScreen_xを取得することができますか?
  2. xは、どの要因によってlocationOnScreen_xと異なる場合がありますか?

答えて

0

は、私は最終的にgetX()は、親へのX値相対ビューを返すことを実現することによって、私の問題を解決し、デバイスの画面に関連していません。

関連する問題