2010年12月15日 星期三

Android 開發教學筆記 - 排版更新或顯示問題

花了幾個小時,才發現這個蠢問題,特別紀錄一下。


在實作 Android 程式時,新增了 3 個 TextView,想要在特定情況下一起更新三個欄位,但很奇妙的只有第一個 TextView 會顯示出來,後面來兩個 TextView 卻看不到。花時間不斷地確認,最後才發現錯誤的地方是在 layout 的部份:


<TextView android:id="@+id/UpdateDate" android:layout_width="fill_parent" android:layout_height="fill_parent"></TextView>
<TextView android:id="@+id/News1" android:layout_width="fill_parent" android:layout_height="fill_parent"></TextView>
<TextView android:id="@+id/News2" android:layout_width="fill_parent" android:layout_height="fill_parent"></TextView>


有發現到了嗎?因為 layout_height 都是 fill_parent 的數值,將導致只又 UpdateDate 這個 TextView 會佔滿剩下的螢幕空間,導致 News1 和 News2 不會顯示出來,再加上一開始沒有給初始值,剛好沒看到這個現象。


修正方式,改使用 wrap_content 即可:


<TextView android:id="@+id/UpdateDate" android:layout_width="fill_parent" android:layout_height="wrap_content"></TextView>
<TextView android:id="@+id/News1" android:layout_width="fill_parent" android:layout_height="wrap_content"></TextView>
<TextView android:id="@+id/News2" android:layout_width="fill_parent" android:layout_height="wrap_content"></TextView>


紀錄一下,提醒自己。


沒有留言:

張貼留言