作者eaden (evenrain)
看板AndroidDev
標題[問題] android:layout_weight 問題
時間Wed Mar 2 14:59:05 2011
開發層: (應用/框架/庫/核心)
應用
問題:
layout_weight 這個屬性可以用來設定權重,
做出類似百分比分配寬度的樣子。
我用 LinearLayout 包了兩個 TextView,
兩個 TextView 的 weight 分別為 7 跟 3。
透過 Eclipse 的 Layout 來看,差不多有達到我要的效果。
但是我透過自己寫的 ArrayAdapter 將這個 view 塞進 ListView 裡,
兩個TextView卻連在一起了,不知道是為什麼 orz
程式碼: (請多利用置底文網站)
XML:
http://pastebin.com/muTxygF9
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 220.128.223.100
1F:推 afz096:試試看 把兩個 TextView 的 layout_height 都改為 0dp 03/02 15:01
我是要橫向的百分比,所以我將 layout_width 設為 0dp,結果還是一樣 T_T
※ 編輯: eaden 來自: 220.128.223.100 (03/02 15:11)
我找到原因了,我將自訂的 Layout 塞進 ListView,
雖然最外層的 LinearLayout 有設 android:layout_width="fill_parent",
但是實際上並沒有填滿 ListView 一個 Item 的寬度。
問題在於如果在 custom ArrayAdapter 的 getView 中,
v.setLayoutParams(new LayoutParams(LayoutParams.FILL_PARENT,
LayoutParams.WRAP_CONTENT));
做這樣的設定,會出現 ClassCastException,
請問我該怎麼做呢?
※ 編輯: eaden 來自: 220.128.223.100 (03/02 15:58)
2F:→ afz096:確認 new LayoutParams 這個是 LinearLayout.LayoutParams 03/04 10:27
3F:→ afz096:應該說 你用啥 Layout, 就要用他的 LayoutParams 03/04 10:29
4F:→ afz096:猜測是這樣的原因,沒看到 code,只能隔空抓藥XD 03/04 10:29
啊 我後來解決忘了回來回 XD
其實是我自己耍白癡,把ListView 的 android:layout_width="fill_parent"
這樣就好了 XD
※ 編輯: eaden 來自: 220.128.223.100 (03/04 16:38)