【发布时间】:2014-03-20 16:28:47
【问题描述】:
经过一番研究,我想出了以下三种获取安卓设备屏幕尺寸的方法。但我仍然不清楚在哪种情况下使用哪一个。它们都是等价的吗?一个比另一个快吗?有什么不同?它们是特定于 API 级别的吗?我应该使用哪一个?我正在寻找一个易于消化、权威的答案来解决所有问题。我已经读了很多。因此,如果我不必通过一堆 cmet 来尝试总结什么是权威真理,那将是有帮助的。
public static Point getDimension(Activity context) {
Display display = context.getWindowManager().getDefaultDisplay();
Point size = new Point();
display.getSize(size);
return size;
}
public static Point getDimension(Context c) {
Resources r = c == null ? Resources.getSystem() : c.getResources();
DisplayMetrics metrics = r.getDisplayMetrics();
return new Point(metrics.heightPixels, metrics.widthPixels);
}
public static Point getScreenSize(Activity activity) {
final DisplayMetrics displayMetrics = new DisplayMetrics();
activity.getWindowManager().getDefaultDisplay().getMetrics(displayMetrics);
return new Point(displayMetrics.heightPixels, displayMetrics.widthPixels);
}
【问题讨论】:
-
@MarcinOrlowski 你自己听到了吗?所以要问一个问题,一个人必须是专家吗?有多少人知道如何去做你要求这个人去做的事情?在那些可能声称知道的人中,有多少人可以有效地做到这一点?
-
不,不需要成为专家。一个人应该努力自己解决问题,并问他/她什么时候真的碰壁了。从这里发布问题开始纯粹是懒惰
-
@MarcinOrlowski 对于急于投反对票的人,您的论点并非来自证据。 OP 提出了三种方法,它们是从研究中综合起来的。所以,不,我不是从这篇文章开始的。克服自己。
标签: android android-layout screen dimensions android-screen