Android 資源替換機制學習

來源:互聯網
上載者:User
How Android Finds the Best-matching Resource


執行個體:有如下一些資源檔:drawable/
drawable-en/
drawable-fr-rCA/
drawable-en-port/
drawable-en-notouch-12key/
drawable-port-ldpi/
drawable-port-notouch-12key/

And assume the following is the device configuration:
當前手機的狀態如下:
Locale = en-GB
Screen orientation = port
Screen pixel density = hdpi
Touchscreen type = notouch
Primary text input method = 12key

By comparing the device configuration to the available alternative resources, Android selects drawables from drawable-en-port.最終的資源選擇結果是選擇了檔案夾drawable-en-port。
關鍵選擇步驟:1.第一步是排除與當前手機狀態完全相悖的資源檔夾所謂相悖,比如當前是英語,那麼資源問價夾下就不能包含其它語言,比如法語、中文等;但是如果某資源檔根本不包含語言這一屬性,那麼它是不會在這一輪被淘汰的。也就是說,在這一輪裡,對於某一手機狀態的屬性,資源檔如果包含此屬性,那麼就應該與手機的屬性相同,否則就被淘汰,但是可以完全不包含該屬性,則不會被淘汰。註:在這一輪裡,可以認為各屬性的淘汰是沒有優先順序的,只要屬性相悖,都會被淘汰
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.