當前位置:首頁 » 安卓系統 » android屏幕寬高

android屏幕寬高

發布時間: 2025-04-25 12:02:10

① Android開發 怎樣獲取屏幕的寬高是多少厘米

我們需要獲取Android手機或Pad的屏幕的物理尺寸,以便於界面的設計或是其他功能的實現。下面就介紹講一講如何獲取屏幕的物理尺寸
下面的代碼即可獲取屏幕的尺寸。
在一個Activity的onCreate方法中,寫入如下代碼:

[java] view plain print?
DisplayMetrics metric = new DisplayMetrics();
getWindowManager().getDefaultDisplay().getMetrics(metric);
int width = metric.widthPixels; // 屏幕寬度(像素)
int height = metric.heightPixels; // 屏幕高度(像素)
float density = metric.density; // 屏幕密度(0.75 / 1.0 / 1.5)
int densityDpi = metric.densityDpi; // 屏幕密度DPI(120 / 160 / 240)

DisplayMetrics metric = new DisplayMetrics();
getWindowManager().getDefaultDisplay().getMetrics(metric);
int width = metric.widthPixels; // 屏幕寬度(像素)
int height = metric.heightPixels; // 屏幕高度(像素)
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節點,具體的內容如下:
[html] view plain print?
<supports-screens
android:smallScreens="true"
android:normalScreens="true"
android:largeScreens="true"
android:resizeable="true"
android:anyDensity="true" />

<supports-screens
android:smallScreens="true"
android:normalScreens="true"
android:largeScreens="true"
android:resizeable="true"
android:anyDensity="true" /> 這樣的話,當前的Android程序就支持了多種解析度,那麼就可以得到正確的物理尺寸了。

[java] view plain print?
import android.app.Activity;
import android.os.Bundle;
import android.util.DisplayMetrics;
import android.widget.TextView;
public class TextCanvasActivity extends Activity {
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
//setContentView(new MyView(this));

//定義DisplayMetrics 對象
setContentView(R.layout.main);
DisplayMetrics dm = new DisplayMetrics();
//取得窗口屬性
getWindowManager().getDefaultDisplay().getMetrics(dm);

//窗口的寬度
int screenWidth = dm.widthPixels;

//窗口高度
int screenHeight = dm.heightPixels;
TextView textView = (TextView)findViewById(R.id.tv1);
textView.setText("屏幕寬度: " + screenWidth + "\n屏幕高度: " + screenHeight);
}
}

熱點內容
存儲器答案 發布:2025-07-03 17:32:28 瀏覽:795
搭建伺服器和分區 發布:2025-07-03 17:27:20 瀏覽:775
廢品機械師如何升級電腦配置 發布:2025-07-03 17:27:11 瀏覽:24
國產手機存儲 發布:2025-07-03 17:26:09 瀏覽:734
怎麼在電腦上更改微信存儲位置 發布:2025-07-03 17:18:18 瀏覽:863
phpmysql連接超時 發布:2025-07-03 17:05:09 瀏覽:796
伺服器怎麼設置電腦遠程埠 發布:2025-07-03 16:28:46 瀏覽:72
電信無線路由器官方密碼是什麼 發布:2025-07-03 16:25:00 瀏覽:773
空間只能申請訪問 發布:2025-07-03 16:23:27 瀏覽:735
華碩天選2air配置如何選擇 發布:2025-07-03 16:10:09 瀏覽:571