Android多螢幕適配

來源:互聯網
上載者:User

   問題:

  測試時,發現應用在不同的顯示器上顯示效果不同(部分文本不能顯示完全),自然想到螢幕適配的問題。

  按照思路整理如下:

  (一) 幾個概念

  1, Screen size 螢幕的尺寸,即對角線長度(單位inch-英寸)

  2, Screen density螢幕密度,即單位長度像素點數(pots/inches)

  3, Resolution 解析度,即螢幕的總像素點數(width * height)

  4, Density-independent pixel (dp)獨立像素密度。標準是160dip.即1dp對應1個pixel,計算公式如:px = dp * (dpi / 160),螢幕密度越大,1dp對應 的像素點越多。

  (二) 螢幕的分類(size & density)

  1, 以總像素數分,文本的size等都要改,如所示

  每一個分類都有其最小解析度,如下,可根據解析度劃分種類:

  2, 以螢幕密度分,提供不同的圖片如所示

  Note1:匹配以上面兩種為參考。

  Note2:還有專為水平(landscape)和豎直(portrait)兩種,使用的少,在此不贅述。

  (三) Android尋找最佳資源原理

  1, 排除與裝置設定不符合的資源

  2, 根據限定詞(qualifier)的優先順序,按照順序尋找

  3, 在限定詞下,是否存在資源路徑

  4, 排除不包含在限定詞中的資源路徑

  5, 繼續執行不同的限定詞尋找,直到找到相應的資源

  如所示:

  (四) 項目步驟:

  1, manufest中配置

    <supports-screens 

  android:anyDensity="true"

  android:largeScreens="true"

  android:normalScreens="true"

  android:smallScreens="true"

  android:xlargeScreens="true" />

  2, 建立對應的資源檔夾

  A, Layout

  如所示:

  B, Drawable

  如所示:

  在drawable中,以mdpi為標準(即160dpi)。比例保持為3:4: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.