android中怎么获取一个视屏在view中的有效高宽。

2025-06-20 15:34:42
推荐回答(3个)
回答1:

1.
WindowManager windowManager = getWindowManager();
Display display = windowManager.getDefaultDisplay();
screenWidth = display.getWidth();
screenHeight = display.getHeight();
2.
DisplayMetrics dm = new DisplayMetrics();
this.getWindowManager().getDefaultDisplay().getMetrics(dm);//this指当前activity
screenWidth =dm.widthPixels;
screenHeight =dm.heightPixels;
以上两种方法在屏幕未显示的时候,还是处于0的状态,即要在setContentView调用之后才有效。
3.
还可以在onDraw中由canvas来获得
screenWidth =canvas.getWidth();
screenHeight =canvas.getHeight();

回答2:

我知道视频控件是这两种 surfaceview VideoView,直接用 getWith()、getHeight()试试
surfaceview、VideoView需要实例化

回答3:

@Override
public void onWindowFocusChanged(boolean hasFocus) {
// TODO Auto-generated method stub
super.onWindowFocusChanged(hasFocus);
ImageView iv= (ImageView)findViewById(R.id.iv);
Log.i("height","iv.getHeight()"+"");
}