本文實(shí)例講述了Android開發(fā)中獲取View視圖寬與高的常用方法。分享給大家供大家參考,具體如下:
一、根據(jù)WindowManager管理器獲得
1)這兩種方法在屏幕未顯示的時(shí)候,還是處于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);}更多關(guān)于Android相關(guān)內(nèi)容感興趣的讀者可查看本站專題:《Android視圖View技巧總結(jié)》、《Android圖形與圖像處理技巧總結(jié)》、《Android開發(fā)入門與進(jìn)階教程》、《Android調(diào)試技巧與常見問題解決方法匯總》、《Android多媒體操作技巧匯總(音頻,視頻,錄音等)》、《Android基本組件用法總結(jié)》、《Android布局layout技巧總結(jié)》及《Android控件用法總結(jié)》
希望本文所述對大家Android程序設(shè)計(jì)有所幫助。
|
新聞熱點(diǎn)
疑難解答
圖片精選