當前位置:編程學習大全網 - 源碼下載 - 關於Android界面適配的思考及最終解決方案

關於Android界面適配的思考及最終解決方案

壹直以來都用 px映射表 來解決不同界面的適配性問題(參考: Android界面開發精要1:尺寸 )。最近在壹些設備上發現,這種方案也有弊端:以UI圖的基礎設計是基於720*1280(如Galaxy Nexus)為例,最近發現有些設備的像素寬高比並不是如此,比如Nexus 4就是768*1280。

這種情形下,不同的映射方式會有不同的效果:

仔細思考就會發現問題的本質是: 控件寬高計算基準是不同的

這讓我想起iOS開發中,其界面設計系統AutoLayout,就采用了壹個計算公式:

也就是說,任何控件都可以以其他控件的屬性值來定義自身的屬性值,所以其可塑性非常高。不過實際應用中也會帶來壹個問題,就是太靈活,導致多重約束,有時候會彼此沖突。

仔細想想,最常見的視角參數應該就只有3個:

透過這3個參數,應該可以定義任意控件的屬性值。

現在問題來了,Android怎麽做到呢?答案是:**** android-percent-support-extend ****

對於值可以取:10%w , 10%h , 10% , 10%sw , 10%sh,縮寫含義為

對於壹開始的界面,最後xml文件為:

效果如下:

這種直接裸寫百分比的方式比價繁瑣,相較之下,目前采用 px映射表 的方案中寫的px值直接在UI設計圖中取就行,更加簡單。

 其實px映射表方案也就是百分比的方案,而且x值和y值已經分開,所以也可以解決正方形變形的問題。

 目前需要客服的問題主要在於px映射為px,導致如果沒有覆蓋到設備的分辨率,就會出現問題,改成px映射為dp後,這種問題應該會減少很多。

Panda

2016-11-29

  • 上一篇:如何查看股票的籌碼分布
  • 下一篇:散戶如何看籌碼分布圖?
  • copyright 2024編程學習大全網