作者LaPass (LaPass)
看板AndroidDev
标题Re: [问题] 设定BaseAdapter返回的view的高
时间Sun May 6 13:30:51 2012
※ 引述《KeySabre (KeySabreur)》之铭言:
: 不知是否能够利用 ViewGroup.OnHierarchyChangeListener
: 里面有 onChildViewAdded(View parent, View child)
: 在这里头对child设height
: 如果不能
: 那就在这里头计算被add的次数
: >=7,判断为ListView里头的view都已经layout,然後再...
: (是不是7可能要试一下,因为我记得getView跑的次数比child数多)
: 实际上
: 我只用过这招帮每个child view加上onTouchListener,没试过更多了
这个问题在上次发问之後花了段时间
终於搞懂ANDROID中的view是怎麽设计的了
如果是已经放在页面上的VIEW
可以用LayoutParams lp = view.getLayoutParams(); 取得设定
再用lp.height = 3; 之类的方式去设定他的高
再用view.setLayoutParams(lp);设定回去
但是,如果这个view还没加到任何view下面的话
是不会有LayoutParams的
所以只能自己new一个给他.....
XXXXX.LayoutParams lp = new XXXXX.LayoutParams();
重点在这边,这边的LayoutParams,用的必需是parent的LayoutParams
如果打算把这个view放到ListView下,就必须用ListView.LayoutParams
如果打算放到LinearLayout下,就得使用LinearLayout.LayoutParams
--
--
※ 发信站: 批踢踢实业坊(ptt.cc)
◆ From: 125.233.155.148