隨筆 - 312, 文章 - 14, 評論 - 1393, 引用 - 0
          數據加載中……

          Android 1.5和Android 2.1在相對布局(RelativeLayout)上的區別

          本文為原創,如需轉載,請注明作者和出處,謝謝!

             近日在做一個程序,需要在ListView中動態擴展每一個列表項。采用的方法是將列表項中某些組件的android:visibility屬性設為 gone,等需要顯示該組件時,再將android:visibility屬性設為visible。而且列表項的布局是RelativeLayout。 android:visibility屬性為gone的組件也參與了相對位置設置。例如,有A、B、C三個組件,其中B的 android:visibility屬性值為gone,也就是說,B不顯示。而A和C顯示。相對位置是B在A的下面,C在B的下面。這么做比理論上是沒 問題的,由于啟動的是android 2.1的模擬器,所以列表項看起來完全正常。如圖1所示。

          圖1  Android 2.1模擬器的顯示效果

              最后在Android 1.5的模擬器上測一下,終于出大事了。android:visibility屬性值為gone的組件并沒有考慮。如果某個可視的圖件的參照組件未顯示,那這個組件就會顯示在列表項的左上角。出現在文字重疊的效果。如圖2所示。



          圖2  Android 1.5模擬器(出現了文字重疊的效果)

          看來要想寫某個版本的Android程序,還得老老實實地使用相應版本的Android模擬器來測試。不知道是從哪個版本的Android開始將未顯示的 組件也作為參照組件的,也許需要試一試,不過不管怎樣,Android 2.1是變了。最后還得重新考慮一下布局問題。希望大家在使用類似功能時要注意這里點。但愿Android 2.1以后的版本不要再變成其他的處理方式了。

          估計OPhone也會出現這個問題。由于OPhone 1.6還沒有放出,所以沒辦法測試。讀者在開發OPhone程序時需要注意這一點。




          Android開發完全講義(第2版)(本書版權已輸出到臺灣)

          http://product.dangdang.com/product.aspx?product_id=22741502



          Android高薪之路:Android程序員面試寶典 http://book.360buy.com/10970314.html


          新浪微博:http://t.sina.com.cn/androidguy   昵稱:李寧_Lining

          posted on 2010-03-17 09:27 銀河使者 閱讀(4689) 評論(3)  編輯  收藏 所屬分類: java 、 原創 、移動(mobile) 、Google

          評論

          # re: Android 1.5和Android 2.1在相對布局(RelativeLayout)上的區別[未登錄]  回復  更多評論   

          兩個圖是一樣的啊,全是2.1的效果
          2010-03-17 14:17 | lveyo

          # re: Android 1.5和Android 2.1在相對布局(RelativeLayout)上的區別  回復  更多評論   

          哈哈,加錯了,現在圖改過來了
          2010-03-17 14:54 | 銀河使者

          # re: Android 1.5和Android 2.1在相對布局(RelativeLayout)上的區別  回復  更多評論   

          雙卡機的金卡是健康的
          2010-03-19 12:22 | 久久讀書人
          主站蜘蛛池模板: 潜江市| 广饶县| 班戈县| 澄城县| 谢通门县| 棋牌| 绥宁县| 凤山市| 枣庄市| 乡城县| 河北省| 博兴县| 台山市| 蓬溪县| 余干县| 上犹县| 汶上县| 资兴市| 德化县| 许昌县| 盱眙县| 嘉善县| 高邑县| 贵州省| 蓬安县| 滁州市| 娄烦县| 合水县| 巴青县| 合肥市| 元谋县| 陆丰市| 五大连池市| 麦盖提县| 新野县| 贵阳市| 台湾省| 辰溪县| 哈密市| 石景山区| 阜阳市|