soui中,列表控件动态高度的使用注意
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了soui中,列表控件动态高度的使用注意相关的知识,希望对你有一定的参考价值。
1.listview的模板template中,需要增加defHeight属性,即默认高度,同时,不能出现itemHeight属性,否则动态高度会失效
2.数据适配器中,重写getViewDesiredSize,类似下面的代码
DWORD dwState = pItem->GetState();
if((dwState & WndState_Check) ||
(dwState & WndState_PushDown))
{
return CSize(0,80);
}
return CSize(0,40);
3.getview中,订阅行的状态变化消息
pItem->GetEventSet()->subscribeEvent(EventSwndStateChanged::EventID,
Subscriber(&CXX::OnItemStateChanged,this));
4.状态变化时关联下面的函数
bool CTodayTaskerListAdapter::OnItemStateChanged(EventArgs *e)
{
EventSwndStateChanged *e2 = sobj_cast<EventSwndStateChanged>(e);
if(!e2->CheckState(WndState_Hover)) return false;
//通知界面重绘
notifyDataSetInvalidated();
return true;
}
以上是关于soui中,列表控件动态高度的使用注意的主要内容,如果未能解决你的问题,请参考以下文章