Android教程網
  1. 首頁
  2. Android 技術
  3. Android 手機
  4. Android 系統教程
  5. Android 游戲
 Android教程網 >> Android系統教程 >> Android開發教程 >> android中獲得屏幕、視圖、任務欄、狀態欄的高寬以及屏幕的設置

android中獲得屏幕、視圖、任務欄、狀態欄的高寬以及屏幕的設置

編輯:Android開發教程

首先,有一點需要聲明,其實在android中,畫布Canvas的高寬其實是屏幕的高寬。

如此一來,獲得屏幕高寬的方法就很多了:

WindowManager windowManager = getWindowManager();     
        
Display display = windowManager.getDefaultDisplay();     
        
screenWidth = display.getWidth();     
        
screenHeight = display.getHeight();
WindowManager windowManager = getWindowManager();    
        
Display display = windowManager.getDefaultDisplay();    
        
screenWidth = display.getWidth();    
        
screenHeight = display.getHeight();
DisplayMetrics dm = new DisplayMetrics();     
        
this.getWindowManager().getDefaultDisplay().getMetrics(dm);//this指當前activity     
        
screenWidth =dm.widthPixels;     
        
screenHeight =dm.heightPixels;
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();

screenWidth =canvas.getWidth();  

   screenHeight =canvas.getHeight();

而視圖的高寬則是大多數人所認為的canvas的高寬,其實他所指的是除了任務欄和狀態欄的高寬,主要有如下方法:

1.

viewWidth=this.getWidth();

   viewHeight=this.getHeight();

viewWidth=this.getWidth();  

   viewHeight=this.getHeight();

2.重寫view的onSizeChanged,該方法會在onCreate之後,onDraw之前調用

protected void onSizeChanged(int w, int h, int oldw, int oldh) {

   viewHeight=h;

   viewWidth=w;

   super.onSizeChanged(w, h, oldw, oldh);

   }

protected void onSizeChanged(int w, int h, int oldw, int oldh) {  

   viewHeight=h;  

   viewWidth=w;  

   super.onSizeChanged(w, h, oldw, oldh);  

   }

 

  1. 上一頁:
  2. 下一頁:
熱門文章
閱讀排行版
Copyright © Android教程網 All Rights Reserved