ListView
Is Dirty: 已更新
virtual void sortAllChildren | ( | | ) | |
在绘画之前,排列所有的孩子数组一次,而不是每次添加或者删除子节点时都排序。 这个方法可以大量地提高性能。
注解
-
不要手动调用这个方法,除非一个添加过的子节点将要被删除在这个结构内。
Gravity
/'grævɪtɪ/
重力
class
CC_GUI_DLL
ListView :
public
ScrollView
enum
class
Gravity
{
//设置
items
在ListVew中对齐方式
LEFT,
//靠左对齐
RIGHT,
//靠右对齐
CENTER_HORIZONTAL,
//水平居中
TOP,
//靠顶对齐
BOTTOM,
//靠底对齐
CENTER_VERTICAL
//竖直居中
};
enum
class
EventType
{
ON_SELECTED_ITEM_START,
ON_SELECTED_ITEM_END
};
void
setItemModel(
Widget
* model);
void
pushBackDefaultItem();
//添加一个默认模板的子项
void
insertDefaultItem(
ssize_t
index);
//在指定下标位置上插入一个模板子项
void
pushBackCustomItem(
Widget
* item);
//添加一个自定义的子项
void
insertCustomItem(
Widget
* item,
ssize_t
index);
//在指定下标位置上插入一个自定义子项
void
removeLastItem();
//移除最后一个子项
void
removeItem(
ssize_t
index);
//移除指定下标值的子项
void removeAllItems();
//移除全部的子项
Widget
* getItem(
ssize_t
index)
const
;
//通过下标值获取item
Vector
<
Widget
*>& getItems();
//获取item数组
ssize_t
getIndex(
Widget
* item)
const
;
//获取给定item的下标值
void
setGravity(
Gravity
gravity);
//设置
items
在ListVew中对齐方式
void
setItemsMargin(
float
margin);
//设置每个子项之间的间隙
float
getItemsMargin()
const
;
virtual
void
doLayout() override;
virtual
void
addChild(
Node
* child)override;
virtual
void
addChild(
Node
* child,
int
localZOrder)override;
virtual
void
addChild(
Node
* child,
int
zOrder,
int
tag) override;
virtual
void
addChild(
Node
* child,
int
zOrder,
const
std
::
string
&name) override;
virtual
void
removeAllChildren() override;
virtual
void
removeAllChildrenWithCleanup(
bool
cleanup) override;
virtual
void
removeChild(
Node
* child,
bool
cleaup =
true
) override;
ssize_t getCurSelectedIndex() const;
//获取当前选择的下标值
CC_DEPRECATED_ATTRIBUTE
void
addEventListenerListView(
Ref
* target,
SEL_ListViewEvent
selector);
void
addEventListener(
const
ccListViewCallback
& callback);
using ScrollView::addEventListener;
//***************
virtual
void
setDirection(
Direction
dir) override;
virtual
std
::
string
getDescription()
const
override;
void requestRefreshView();
//请求刷新视图
void
refreshView();
CC_CONSTRUCTOR_ACCESS
:
virtual
bool
init() override;
protected
:
void
updateInnerContainerSize();
void
remedyLayoutParameter(
Widget
* item);
virtual
void
onSizeChanged() override;
virtual
Widget
* createCloneInstance() override;
virtual
void
copySpecialProperties(
Widget
* model) override;
virtual
void
copyClonedWidgetChildren(
Widget
* model) override;
void
selectedItemEvent(
TouchEventType
event);
virtual
void
interceptTouchEvent(
Widget
::
TouchEventType
event,
Widget
* sender,
Touch
* touch) override;
protected
:
Widget
* _model;
Vector
<
Widget
*> _items;
Gravity
_gravity;
float
_itemsMargin;
ssize_t
_curSelectedIndex;
bool
_refreshViewDirty;