我正在制作一个带动画的拼图应用程序。动画在小屏幕上看起来要快得多,然后在大屏幕上看起来要快得多。我假设这是因为在更大的屏幕上他们移动的距离更远。
我打算根据屏幕尺寸改变播放速度。我用pixcels获得屏幕大小有没有办法在dpi ????
中获取它答案 0 :(得分:0)
答案是:Get screen dimensions in pixels。但是,这可能无法解决您的问题。你应该检查你的动画速度,因为我很确定,它不是来自显示器的差异。您应该发布一些代码,以获得更好的帮助。希望这会有所帮助。
答案 1 :(得分:0)
如果您想要显示尺寸(以像素为单位),可以使用 getSize :
Display display = getWindowManager().getDefaultDisplay();
Point size = new Point();
display.getSize(size);
int width = size.x;
int height = size.y;
如果您不在活动中,可以通过 WINDOW_SERVICE 获取默认显示:
WindowManager wm = (WindowManager) ctx.getSystemService(Context.WINDOW_SERVICE);
Display display = wm.getDefaultDisplay();
在引入getSize之前(在API级别13 )之前,您可以使用现已弃用的 getWidth 和 getHeight 方法:
Display display = getWindowManager().getDefaultDisplay();
int width = display.getWidth(); // deprecated
int height = display.getHeight(); // deprecated
答案 2 :(得分:0)
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;
答案 3 :(得分:0)
你可以用这个:
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;