使尺寸,文字,,布局在不同的裝置都有相應的規律的顯示效果;
100dp
dimen>
resources>
當乙個apk執行起來時,android系統會根據其所執行的手機的螢幕密度去相對應的資料夾裡找指定名稱的。 注意, 先去哪個目錄裡找,完全是根據這個手機的螢幕密度決定的。
如果螢幕所對應的資料夾沒有要找的,怎麼辦。這是很常見的,我們開發專案時一般不會去為每乙個級別的螢幕去切一套。那樣做只會讓apk很大。所以一般性的我們只切一兩個典型密度螢幕的。但是apk是有可能會執行在從ldpi到xxhdpi的各種級別的手機上。這個時候就需要根據一定的策略去尋找了。
1, 去螢幕密度對應的目錄去找。如果找到就拿來用。
2, 如果沒找到,就去比這個密度高一級的目錄裡面去找,如果找到就拿來用。
3, 如果沒找到就繼續往上找。以此類推。
4, 如果到了xxhdpi目錄還沒有找到的話,就會去比自身螢幕密度低一級的目錄去找,如果低一級的目錄》=hdpi,找到了就拿來用。
5, 如果沒找到, 就去mdpi目錄去找, 如果找到了,就拿來用。
6, 如果沒找到,就去預設的drawble目錄裡去找, 如果找到了就拿來用。
7 ,如果沒找到,再去最低的ldpi目錄裡去找。如果找到了,就拿來用。
8, 如果沒找到, 那就是沒找到了, 無法顯示。(不過一般不會出現這種現象,因為如果每個目錄都沒有這個的話,你是編譯不過的)
這裡有兩點需要注意:
① 首先會去比自己密度高的目錄裡去找,這是因為因為系統相信,你在密度更高的目錄裡會放置解析度更大的,這樣的話這個會被縮小,但同時顯示效果不會有損失,但是如果優先去低一級別的目錄去找的話, 找到的就會被放大,這樣的話這個就會被拉扯模糊了。
e.g. 同一張,你在mdpi和xxhdpi目錄各放了乙份, 這個應用你現在執行在hdpi的手機上, 那應用會選擇哪張呢。答案是xxhdpi目錄裡的。即便hdpi離mdpi更近一點!
②,如果在mdpi裡找不到是不會直接去ldpi裡找的, 而是先去預設的drawble目錄裡找,這是drawble目錄和drawble-mdpi是乙個級別的。
可以隨意拉伸而不變形的
1.在 res 資料夾下新建對應語言的 values 資料夾
舉例:英語環境下的,資料夾命名為:values-en
2.複製中文values目錄下的strings-xml到英文目錄values-en
裡面的命名要和中文目錄一致,把語言改掉。
如:中文目錄下寫滑動
英文目錄下寫slide
3.呼叫:test=@string/btn-text
android螢幕適配
1 配置android應用程式適配在不同的手機上,需要在androidmanifest.xml檔案的manifest標籤中新增子元素 1 2 3 4 5 6 7 8 9 10 manifestxmlns android supports screens android smallscreens tr...
Android螢幕適配
在sdk中的幫助文件中。develpe training best practices supporting multiple screens 這裡有多屏適配的介紹。現做簡單記錄。screen size small 至少 426dp x 320dp normal 至少 470dp x 320dp l...
android螢幕適配
ui在不同的螢幕畫素或大小中顯示效果可能會不同 1 建議使用盡量使用線性布局和相對布局,基本上不會產生螢幕大小不適應的問題 2 設定控制項寬高的時候使用單位dip dp 是根據當前裝置大小比例計算出來的 3 文字設定盡量使用sp單位 4 盡量不使用px設定大小 畫素px和dip相互轉換工具,實現兩種...