作者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)