アニメーション付きのパズルアプリを作っています。アニメーションは、大きな画面よりも小さな画面の方がはるかに高速に表示されます。これは、画面が大きいほど移動距離が長くなるためだと思います。
画面サイズによって再生速度を変えてみました。画面サイズをピクセル単位で取得できますが、dpi 単位で取得する方法はありますか????
アニメーション付きのパズルアプリを作っています。アニメーションは、大きな画面よりも小さな画面の方がはるかに高速に表示されます。これは、画面が大きいほど移動距離が長くなるためだと思います。
画面サイズによって再生速度を変えてみました。画面サイズをピクセル単位で取得できますが、dpi 単位で取得する方法はありますか????
これを使用できます:
Display display = getWindowManager().getDefaultDisplay();
Point sSize = new Point();
display.getSize(sSize);
int width = sSize.x;
int height = sSize.y;
これをインチにも使用できます。
float mXDpi;
float mYDpi;
DisplayMetrics metrics = new DisplayMetrics();
getWindowManager().getDefaultDisplay().getMetrics(metrics);
mXDpi = metrics.xdpi;
mYDpi = metrics.ydpi;
float mMetersToPixelsX = mXDpi / 0.0254f;
float mMetersToPixelsY = mYDpi / 0.0254f;
Display display = getWindowManager().getDefaultDisplay();
int width = display.getWidth();
int height = display.getHeight();
また
Display display = getWindowManager().getDefaultDisplay();
Point sSize = new Point();
display.getSize(sSize);
int width = sSize.x;
int height = sSize.y;
あなたの答えがあります:ピクセルで画面の寸法を取得します。ただし、これでは問題が解決しない場合があります。ディスプレイの違いによるものではないことは確かなので、アニメーションの速度を確認する必要があります。より良いヘルプのために、いくつかのコードを投稿する必要があります。お役に立てれば。