Smallest-width 限定符

來源:互聯網
上載者:User

很多開發人員都想在這個範圍內根據不同的具體螢幕尺寸來顯示不同的布局(例如 5寸和7寸的裝置)。
在Android 3.2版本中引入 “Smallest-width”限定符就是為瞭解決這個問題的。

例如,普通的7寸平板的最小寬度是600dp,因此如果你希望你的程式在這種尺寸的螢幕上使用兩個視窗(小於該尺寸的螢幕使用一個視窗),
那麼您可以使用上面的兩個布局檔案,只要把xlarge 限定符替換為sw600dp 即可, 可以看出在3.2+版本中,對螢幕的限定更加詳細了。

只要最小螢幕寬度大於等於600dp的裝置都會使用layout-sw600dp/main.xml 這個兩個視窗布局,而小於該尺寸的裝置就用layout/main.xml 一個視窗的布局。
但是,這樣在3.2之前的版本沒法使用,因為他們不認識sw600dp 這個限定符,這樣您還是要同時使用xlarge 限定符。這樣您的res/layout-xlarge/main.xml   檔案和res/layout-sw600dp/main.xml 檔案的內容是一樣的。

上面看到的Smallest-width限定符只適用於3.2+的裝置,因此您還需要同時使用(small, normal,large and xlarge)這些限定符來讓您的程式運行在3.2之前的系統中。例如:如果你想設計一個介面,在手機中顯示一個視窗,而在7寸平板或者更大的裝置中顯示兩個視窗,您需要這些布局檔案:
res/layout/main.xml: 單個視窗布局
res/layout-xlarge: 兩個視窗布局
res/layout-sw600dp: 兩個視窗布局

面的兩個布局檔案是一樣的,一個是用於3.2+裝置的;一個用於之前的裝置的。
為了避免這種布局檔案的重複,並且維護起來也很麻煩,您可以使用別名檔案。例如您可以定義如下的布局檔案:
res/layout/main.xml , 單個視窗布局
res/layout/main_twopanes.xml , 兩個視窗布局
布局檔案內容:
 
res/values-xlarge/layout.xml 
Xml代碼  收藏代碼
<resources>  
    <item name="main" type="layout">@layout/main_twopanes</item>  
</resources>  
 
res/values-sw600dp/layout.xml
Xml代碼  收藏代碼
<resources>  
    <item name="main" type="layout">@layout/main_twopanes</item>  
</resources>  
 
這兩個檔案內容是一樣的,但是他們實際上並沒有定義布局。他們僅僅設定了main 為main_twopanes 的一個別名。既然該布局檔案有xlarge   和  sw600dp 這兩個限定符,這樣不管系統的版本是3.2之前的還是之後的,滿足尺寸要求的都會使用該布局。

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在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.