首頁 收藏 QQ群
 網(wǎng)站導(dǎo)航

ZNDS智能電視網(wǎng) 推薦當(dāng)貝市場

TV應(yīng)用下載 / 資源分享區(qū)

軟件下載 | 游戲 | 討論 | 電視計算器

綜合交流 / 評測 / 活動區(qū)

交流區(qū) | 測硬件 | 網(wǎng)站活動 | Z幣中心

新手入門 / 進(jìn)階 / 社區(qū)互助

新手 | 你問我答 | 免費(fèi)刷機(jī)救磚 | ROM固件

查看: 13518|回復(fù): 0
上一主題 下一主題
[教程]

Android獲取屏幕尺寸

[復(fù)制鏈接]
跳轉(zhuǎn)到指定樓層
樓主
發(fā)表于 2013-8-28 16:28 | 只看該作者 回帖獎勵 |倒序瀏覽 |閱讀模式
2 有些時候,我們需要獲取Android手機(jī)或Pad的屏幕的物理尺寸,以便于界面的設(shè)計或是其他功能的實現(xiàn)。下面就介紹講一講如何獲取屏幕的物理尺寸:   
從網(wǎng)上找過不少資料,發(fā)現(xiàn)獲取屏幕尺寸并不是很復(fù)雜的編程操作,下面的代碼即可獲取屏幕的尺寸。   
在一個Activity的onCreate方法中,寫入如下代碼:   
      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)   
但是,需要注意的是,在一個低密度的小屏手機(jī)上,僅靠上面的代碼是不能獲取正確的尺寸的。比如說,一部240x320像素的低密度手機(jī),如果運(yùn)行上述代碼,獲取到的屏幕尺寸是320x427。因此,研究之后發(fā)現(xiàn),若沒有設(shè)定多分辨率支持的話,Android系統(tǒng)會將240x320的低密度(120)尺寸轉(zhuǎn)換為中等密度(160)對應(yīng)的尺寸,這樣的話就大大影響了程序的編碼。所以,需要在工程的AndroidManifest.xml文件中,加入supports-screens節(jié)點,具體的內(nèi)容如下:   
<supports-screens   
android:smallScreens="true"   
android:normalScreens="true"   
android:largeScreens="true"   
android:resizeable="true"   
android:anyDensity="true" />   
這樣的話,當(dāng)前的Android程序就支持了多種分辨率,那么就可以得到正確的物理尺寸了。   

上一篇:去移動MM學(xué)院開發(fā)人員在線考試測一下自己的分?jǐn)?shù)
下一篇:Android 源碼制作
您需要登錄后才可以回帖 登錄 | 立即注冊

本版積分規(guī)則

Archiver|新帖|標(biāo)簽|軟件|Sitemap|ZNDS智能電視網(wǎng) ( 蘇ICP備2023012627號 )

網(wǎng)絡(luò)信息服務(wù)信用承諾書 | 增值電信業(yè)務(wù)經(jīng)營許可證:蘇B2-20221768 丨 蘇公網(wǎng)安備 32011402011373號

GMT+8, 2025-1-3 09:04 , Processed in 0.059091 second(s), 17 queries , Redis On.

Powered by Discuz!

監(jiān)督舉報:report#znds.com (請將#替換為@)

© 2007-2024 ZNDS.Com

快速回復(fù) 返回頂部 返回列表