2011-07-05 39 views

Trả lời

56

Nếu bạn muốn kích thước hiển thị bằng pixel bạn có thể sử dụng mã này:

Display display = getWindowManager().getDefaultDisplay(); 
int width = display.getWidth(); 
int height = display.getHeight(); 

Sau đó, bạn có thể thêm điều kiện so sánh chiều cao để đáp ứng của bạn nhu cầu.

Trong inch:

DisplayMetrics dm = new DisplayMetrics(); 
getWindowManager().getDefaultDisplay().getMetrics(dm); 
double x = Math.pow(dm.widthPixels/dm.xdpi,2); 
double y = Math.pow(dm.heightPixels/dm.ydpi,2); 
double screenInches = Math.sqrt(x+y); 
Log.d("debug","Screen inches : " + screenInches); 
+0

Vì vậy, nếu tôi muốn đi theo inch? – yoshi24

+1

@ yoshi24, đã chỉnh sửa câu trả lời của tôi ... – evilone

+0

Hoạt động như một sự quyến rũ, Cảm ơn! – yoshi24

19

Từ bên trong hoạt động:

int width = getWindowManager().getDefaultDisplay().getWidth(); 
int height = getWindowManager().getDefaultDisplay().getHeight(); 

Hoặc nếu bạn chỉ có Context đối tượng:

WindowManager windowManager = (WindowManager)mContext.getSystemService(WINDOW_SERVICE); 
int width = windowManager.getDefaultDisplay().getWidth(); 
int height = windowManager.getDefaultDisplay().getHeight() 

CẬP NHẬT. Làm thế nào để phát hiện các ứng dụng của bạn chạy trên màn hình lớn:

//Android Level 9 and up: 
Configuration config = getResources().getConfiguration(); 
if((config.screenLayout & Configuration.SCREENLAYOUT_SIZE_MASK) == 
    Configuration.SCREENLAYOUT_SIZE_XLARGE) 
{ 
    //xlarge screen 
} 
+0

Ok cảm ơn! vì vậy làm thế nào tôi sẽ so sánh điều đó để nói? Màn hình 10,2 inch? giống như số liệu nào nó đi theo? – yoshi24

+0

Cập nhật câu trả lời. – inazaruk

+0

Tuyệt! Cảm ơn người đàn ông thats thực sự tốt hơn! – yoshi24

0

Trong onCreate của bạn hoặc bất kỳ phương pháp Hoạt động khác chỉ cần làm:

Display display = getWindowManager().getDefaultDisplay(); 
int width = display.getWidth(); 
int height = display.getHeight(); 
Các vấn đề liên quan