Android平台根據解析度計算螢幕尺寸,基於物理尺寸來驗證手機和平板應用合并的可行性

來源:互聯網
上載者:User

出發點:Android系統本身是支援多種解析度的,1所示,一般情況下要適配不同尺寸的裝置只需要做兩件事,1. 根據4種不同的螢幕尺寸提供4套UI布局(layout)。 2. 根據4種不同螢幕像素密度(單位英寸的像素值)提供4套介面元素的圖片。

圖1 Android螢幕分類

而實際應用合并過程中存在的問題是:同一個應用對應的手機和平板介面設計是完全不一樣的,如何根據螢幕的大小來決定提供哪一套介面是一件很頭疼的事情。

 

目的:根據解析度來區分手機和平板的不合理性在於:

1. 解析度高但是物理螢幕尺寸小的裝置(比如三星5.3寸的galaxy NOTE1280*800 手機)採用平板布局後的可點擊介面元素太小,很痛點中。

2. 解析度小但是物理螢幕尺寸大的裝置採用手機布局後介面元素過大,顯得整體UI粗糙。

所以目前通過螢幕尺寸來區分手機和平板相對合理,主要目的是驗證如下調整的可行性

 

解析度與螢幕尺寸的換算:首先要瞭解Android解析度相關基礎概念

 

手機像素密度(density)實際上是以單位英寸160個像素作為參考標準,主要密度有0.75,1,1.5和2,當密度為2時就表示1英寸有320個像素,Android中通過代碼可以擷取到螢幕的像素值和密度,根據這些值就可以反向算出螢幕的物理尺寸

 

螢幕尺寸=螢幕對角線的像素值/(密度*160)=   / (密度*160) 

 

實踐過程:

由於Android裝置中擷取的密度density本身是個約等於的數值,比如計算出密度的準確值density=1.575,實際在代碼中讀到的density=1.5, 需要實現一個簡單的計算螢幕尺寸的應用在不同裝置上驗證物理尺寸準確程度,具體代碼如下:

 

實踐結果:幾個不同裝置(手機和平板)的測試結果如下:

 

結論:手機上根據解析度反向算出的螢幕物理尺寸比較準確,平板則誤差較大,但是結果基本上是大於6寸,以上根據物理尺寸區分手機和平板的方法目前來看是可行的。

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.