當前位置:首頁 » 安卓系統 » 獲取屏幕大小android

獲取屏幕大小android

發布時間: 2022-10-10 17:04:21

『壹』 在android中如何獲取顯示器屏幕大小

// 通過WindowManager獲取

java">DisplayMetricsdm=newDisplayMetrics();
getWindowManager().getDefaultDisplay().getMetrics(dm);
System.out.println("heigth:"+dm.heightPixels);
System.out.println("width:"+dm.widthPixels);

// 通過Resources獲取

DisplayMetricsdm2=getResources().getDisplayMetrics();
System.out.println("heigth2:"+dm2.heightPixels);
System.out.println("width2:"+dm2.widthPixels);

// 獲取屏幕的默認解析度

Displaydisplay=getWindowManager().getDefaultDisplay();
System.out.println("width-display:"+display.getWidth());
System.out.println("heigth-display:"+display.getHeight());

『貳』 怎樣獲取Android手機屏幕的大小

下面的代碼即可獲取屏幕的尺寸:

在一個Activity的onCreate方法中,編寫以下代碼:

DisplayMetrics metric = new DisplayMetrics();
getWindowManager().getDefaultDisplay().getMetrics(metric);

int width = metric.widthPixels; // 寬度(PX)
int height = metric.heightPixels; // 高度(PX)

float density = metric.density; // 密度(0.75 / 1.0 / 1.5)
int densityDpi = metric.densityDpi; // 密度DPI(120 / 160 / 240)

需要注意的是,在一個低密度的小屏手機上,僅靠上面的代碼是不能獲取正確的尺寸的。
比如說,一部240x320像素的低密度手機,如果運行上述代碼,獲取到的屏幕尺寸是320x427。
因此,研究之後發現,若沒有設定多解析度支持的話,
Android系統會將240x320的低密度(120)尺寸轉換為中等密度(160)對應的尺寸,
這樣的話就大大影響了程序的編碼。
所以,需要在工程的AndroidManifest.xml文件中,加入supports-screens節點,如下:

android:smallScreens="true"
android:normalScreens="true"
android:largeScreens="true"
android:resizeable="true"
android:anyDensity="true" />

這樣當前的Android程序就支持了多種解析度,那麼就可以得到正確的物理尺寸了。

public static String getDisplayMetrics(Context cx) {
String str = "";
DisplayMetrics dm = new DisplayMetrics();
dm = cx.getApplicationContext().getResources().getDisplayMetrics();
int screenWidth = dm.widthPixels;
int screenHeight = dm.heightPixels;
float density = dm.density;
float xdpi = dm.xdpi;
float ydpi = dm.ydpi;
str += "The absolute width:" + String.valueOf(screenWidth) + "pixels\n";
str += "The absolute heightin:" + String.valueOf(screenHeight)
+ "pixels\n";
str += "The logical density of the display.:" + String.valueOf(density)
+ "\n";
str += "X dimension :" + String.valueOf(xdpi) + "pixels per inch\n";
str += "Y dimension :" + String.valueOf(ydpi) + "pixels per inch\n";
return str;
}

Android 在代碼中設置屏幕屬性(全屏、無標題)
getWindow().setFlags(WindowManager.LayoutParams.FLAG_FULLSCREEN,
WindowManager.LayoutParams.FLAG_FULLSCREEN); //設置全屏
this.requestWindowFeature(Window.FEATURE_NO_TITLE); //設置沒有標題

『叄』 怎樣獲取Android手機屏幕的大小

有兩種方式:(獲取到的大小准確度與手機的類型有關,google手機你還需要加上底部欄) 1. WindowManager wm = (WindowManager) getContext() .getSystemService(Context.WINDOW_SERVICE); int width = wm.getDefaultDisplay().getWidth(); int height = wm.getDefaultDisplay().getHeight(); 2. WindowManager wm = this.getWindowManager(); int width = wm.getDefaultDisplay().getWidth(); int height = wm.getDefaultDisplay().getHeight();

『肆』 怎樣獲取Android手機屏幕的大小

要獲取手機屏幕大小,其實太簡單,只要用尺量取屏幕對角尺寸(單位:mm)。然後用這個尺寸除以25.4,就得到英寸了。譬如:127mm/25.4=5.0 英寸。

『伍』 怎樣獲取Android手機屏幕的大小

// 獲取屏幕的寬度
public static int getScreenWidth(Context context) {
WindowManager manager = (WindowManager) context
.getSystemService(Context.WINDOW_SERVICE);
Display display = manager.getDefaultDisplay();
return display.getWidth();
}

// 獲取屏幕的高度
public static int getScreenHeight(Context context) {
WindowManager manager = (WindowManager) context
.getSystemService(Context.WINDOW_SERVICE);
Display display = manager.getDefaultDisplay();
return display.getHeight();
}

//得到狀態欄的高度
public static int getStatusBarHeight(Context context) {
int result = 0;
int resourceId = context.getResources().getIdentifier(
"status_bar_height", "dimen", "android");
if (resourceId > 0) {
result = context.getResources().getDimensionPixelSize(resourceId);
}
return result;
}

// 獲取ActionBar的高度
public static int getActionBarHeight(Context contxt) {
TypedValue tv = new TypedValue();
int actionBarHeight = 0;
if (contxt.getTheme().resolveAttribute(android.R.attr.actionBarSize, tv, true))// 如果資源是存在的、有效的
{
actionBarHeight = TypedValue.complexToDimensionPixelSize(tv.data, contxt.getResources().getDisplayMetrics());
}
return actionBarHeight;
}

『陸』 怎樣獲取Android手機屏幕的大小

有兩種方式:(獲取到的大小准確度與手機的類型有關,google手機你還需要加上底部欄)
1.
WindowManager wm = (WindowManager) getContext()
.getSystemService(Context.WINDOW_SERVICE);
int width = wm.getDefaultDisplay().getWidth();
int height = wm.getDefaultDisplay().getHeight();
2.
WindowManager wm = this.getWindowManager();
int width = wm.getDefaultDisplay().getWidth();
int height = wm.getDefaultDisplay().getHeight();

熱點內容
安卓的哈靈麻將哪裡下 發布:2025-01-23 11:26:17 瀏覽:228
全本免費閱讀器在哪緩存 發布:2025-01-23 11:14:54 瀏覽:438
傳輸數據加密 發布:2025-01-23 11:03:20 瀏覽:254
win7文件夾沒有共享 發布:2025-01-23 10:55:43 瀏覽:140
php原鏈接 發布:2025-01-23 10:49:56 瀏覽:513
演講稿腳本需要哪些要素 發布:2025-01-23 10:49:55 瀏覽:383
傳奇日常腳本 發布:2025-01-23 10:45:04 瀏覽:40
刷華為的系統可以用方舟編譯器嗎 發布:2025-01-23 10:45:03 瀏覽:226
java數組反射 發布:2025-01-23 10:39:24 瀏覽:291
伺服器如何從導軌取下來 發布:2025-01-23 10:28:30 瀏覽:103