Android 安卓:以不同的方式确定屏幕大小会导致不同的屏幕大小
当我通过此尝试确定活动中的屏幕大小时,我得到800x480,结果如下:Android 安卓:以不同的方式确定屏幕大小会导致不同的屏幕大小,android,screen-size,measurement,Android,Screen Size,Measurement,当我通过此尝试确定活动中的屏幕大小时,我得到800x480,结果如下: @SuppressWarnings("deprecation") private void initSpecs() { WindowManager windowManager = (WindowManager)this.getSystemService(Context.WINDOW_SERVICE); Point size = new Point(); if (Build.VERSION.SDK_I
@SuppressWarnings("deprecation")
private void initSpecs()
{
WindowManager windowManager = (WindowManager)this.getSystemService(Context.WINDOW_SERVICE);
Point size = new Point();
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.HONEYCOMB_MR2)
{
windowManager.getDefaultDisplay().getSize(size);
effectiveWidth = size.x;
effectiveHeight = size.y;
}
else
{
Display display = windowManager.getDefaultDisplay();
effectiveWidth = display.getWidth();
effectiveHeight = display.getHeight();
}
}
当我通过以下尝试确定游戏视图(类扩展视图)中的屏幕大小时,我得到800x442
@Override
public void onMeasure(int widthMeasureSpec, int heightMeasureSpec)
{
super.onMeasure(widthMeasureSpec, heightMeasureSpec);
int width = MeasureSpec.getSize(widthMeasureSpec);
int height = MeasureSpec.getSize(heightMeasureSpec);
}
没有标题栏。这种差异是如何产生的?问题是,第一种方法实际上是得到“屏幕/显示”大小,而第二种方法得到的是视图的宽度/高度测量值,其中覆盖了“onMeasure”,这不一定等于屏幕大小,特别是如果其他视图在其生命周期中影响视图的大小。这是一种观点的生命周期
- 附
- 测量*
- 布局
- 画