我有一个自定义视图,需要屏幕分辨率来做一些数学运算......它需要缩放一些文本,以便它始终适合视图中的空间。所以我需要知道视图的大小。
下面的代码在设备和模拟器上运行良好。但它在 Eclipse 图形布局预览中出现 NullPointerException。似乎 WindowManager 在 Eclipse 预览中不起作用。所以现在,我正在检查值并在它不合理时对其进行硬编码......但这也意味着我需要继续编辑数字以测试不同的屏幕尺寸。
一定会有更好的办法。任何人?
谢谢
@Override
protected void onMeasure(int widthSpec, int heightSpec) {
Context context=this.getContext().getApplicationContext();
WindowManager wm = (WindowManager) context.getSystemService(Context.WINDOW_SERVICE);
wm.getDefaultDisplay().getMetrics(metrics);
int displayWidth = metrics.widthPixels;
int displayHeight = metrics.heightPixels;
if (!(displayWidth > 0))
displayWidth = 720;
...