本文實(shí)例講述了Android開發(fā)中獲取View視圖寬與高的常用方法。分享給大家供大家參考,具體如下:
一、根據(jù)WindowManager管理器獲得
1)這兩種方法在屏幕未顯示的時候,還是處于0的狀態(tài),即要在setContentView調(diào)用之后才有效。
2)Activity必須如此設(shè)置才能獲得view的寬高
//設(shè)置為無標(biāo)題requestWindowFeature(Window.FEATURE_NO_TITLE);//設(shè)置為全屏模式getWindow().setFlags(WindowManager.LayoutParams.FLAG_FULLSCREEN,WindowManager.LayoutParams.FLAG_FULLSCREEN
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指當(dāng)前activityscreenWidth =dm.widthPixels;screenHeight =dm.heightPixels;
二、在onDraw中由canvas來獲得
@Override protected void onDraw(Canvas canvas) { super.onDraw(canvas); screenWidth =canvas.getWidth(); screenHeight =canvas.getHeight();}三、重寫view的onSizeChanged,該方法會在onCreate之后,onDraw之前調(diào)用
protected void onSizeChanged(int w, int h, int oldw, int oldh) {viewHeight=h;viewWidth=w;super.onSizeChanged(w, h, oldw, oldh);}希望本文所述對大家Android程序設(shè)計(jì)有所幫助。
新聞熱點(diǎn)
疑難解答
圖片精選