Tôi đã thử các cách khác nhau để có kích thước màn hình của thiết bị nhưng nó luôn trả về cho tôi kích thước sai (791x480 thay vì 854x480), có thể là do thanh điều hướng. Thiết bị của tôi hiện đang chạy Jellybean 4.1.1.Android: Cách nhận kích thước màn hình thực của thiết bị?
tôi đã cố gắng:
Display display = getWindowManager().getDefaultDisplay();
Point size = new Point();
display.getSize(size);
OpenGLRenderer.widthScreen = size.x;
OpenGLRenderer.heightScreen = size.y;
Và:
DisplayMetrics dm = new DisplayMetrics();
getWindowManager().getDefaultDisplay().getMetrics(dm);
String resolution = dm.widthPixels + "x" + dm.heightPixels;
Tôi đang sử dụng đoạn mã sau để làm cho ứng dụng toàn màn hình:
setContentView(mGLSurfaceView);
mGLSurfaceView.setSystemUiVisibility(View.SYSTEM_UI_FLAG_HIDE_NAVIGATION);
tôi nhận thấy rằng trong logcat kích thước phù hợp được trả lại:
01-01 03:05:06.967: I/InputReader(1961):
Device reconfigured: id=8, name='cyttsp-spi',
surface size is now 480x854, mode is 1
Trong AndroidManifest tôi:
uses-sdk android:minSdkVersion="8" android:targetSdkVersion="16"
tôi đã sử dụng:
- Get the real screen resolution on Ice Cream Sandwich
- HTC Sensation Real Resolution
- Get screen dimensions in pixels
Tại sao tôi không phải là một để có được kích thước thật (480x854
)? Hoặc làm cách nào tôi có thể sử dụng bề mặt được trả về bởi "Thiết bị được định cấu hình lại"?
thử getRealMetrics http://developer.android.com/reference/android/view/Display.html#getRealMetrics(android.util.DisplayMetrics) – Jameo
Tôi đang bối rối. Bạn đang hỏi làm thế nào để có được kích thước vật lý của thiết bị, sau đó bạn nói rằng bạn nhận được kích thước trừ thanh điều hướng. Sau đó, bạn nói rằng bạn có kích thước vật lý của thiết bị. Vấn đề của bạn chính xác ở đâu? – DeeV
@deev Bạn nói đúng, tôi đang hỏi làm thế nào để có được kích thước vật lý của thiết bị, tôi chỉ giả sử rằng kích thước được trả lại cho tôi là một trừ đi thanh điều hướng. Tôi yêu cầu cách viết mã sẽ cung cấp kích thước thực cho bất kỳ thiết bị nào. – Trois