采用cocos2d-x lua 的listview 实现pageview的翻页效果之上下翻页效果

--翻页滚动效果
local function fnScrollViewScrolling( sender,eventType)
    -- body
    if eventType == 10 then
        local bposX = sender:getPercentage()*100
        _bPosX = bposX
    end
    if not _bPosX then
        return
    end
    print("-------bposX=",_bPosX)
    if ccui.ScrollviewEventType.scrolling == eventType or eventType == 9 then
        _IsRolling = true    
    elseif eventType == 12 then
        local edposX = sender:getPercentage()*100
        local dispox = edposX - _bPosX
        print("--------dispox=",dispox)
        if dispox < 0 then
            _currPercent = _currPercent - _addPercent
            if _currPercent >= 100 then
                _currPercent = 100
            end
        elseif dispox > 0 then
            _currPercent = _currPercent + _addPercent
            if _currPercent <= 0 then
                _currPercent = 0
            end
        end    
        sender:scrollToPercentVertical(_currPercent,0.1,false)            
        print("--------_currPercent=,_addPercent=",_currPercent,_addPercent)
        _IsRolling = false
    end
end
--绘制商店列表数据
function shopItemList( pBg,tItem )
    -- body
    require "src/libs/LuaListView"
    local itemList = pBg:getChildByTag(999)
    if not itemList then
        itemList = LuaListView:create()
        itemList:setBounceEnabled(true)
        itemList:setSize(cc.size(775, 318))
        itemList:setPosition(387.5,159+10)--230
        itemList:setAnchorPoint(cc.p(0.5,0.5))
        itemList:setDirection(ccui.ScrollViewDir.vertical)
        itemList:addEventListenerListView(fnScrollViewScrolling)
        itemList:setTag(999)
        pBg:addChild(itemList)
    else
        itemList:removeAllItems()
        _t_item = {}
    end
    local point_y = 52
    local num = math.ceil(#tItem/2)
    local addLayNum = math.mod(num,3)--当不够整页的话根据差别的个数添加空白条目实现上下整体翻页效果
    print("-----------------num=,addLayNum=",num,addLayNum)
    local layoutSize = cc.size(775,106)
    for i=1,num do
        local dLayout = ccui.Layout:create()
        dLayout:setSize(layoutSize)

if tItem[2*i-1] then
            local itemInfo1 = drawShopItemInfo(tItem[2*i -1],2*i -1)
            itemInfo1:setPosition(194,point_y) --67
            dLayout:addChild(itemInfo1)
        end
        if tItem[2*i] then
            local itemInfo2 = drawShopItemInfo(tItem[2*i],2*i)
            itemInfo2:setPosition(582,point_y)
            dLayout:addChild(itemInfo2)
        end
        itemList:pushBackCustomItem(dLayout)
    end
    if addLayNum ~= 0 then
        local disNum = 3- addLayNum
        for i=1,disNum do
            local dLayout = ccui.Layout:create()
            dLayout:setSize(layoutSize)
            itemList:pushBackCustomItem(dLayout)
        end
    end
    local height = itemList:getInnerContainer():getContentSize().height-318
    print("itemList:getInnerContainer():getContentSize().height=",itemList:getInnerContainer():getContentSize().height)
    _addPercent=(318/height)*(-100)
end

时间: 2024-11-10 11:10:04

采用cocos2d-x lua 的listview 实现pageview的翻页效果之上下翻页效果的相关文章

cocos2dx-ScrollView和 ListView、PageView控件的使用

这篇记录了三个控件的使用流程:ScrollView和 ListView.PageView. ScrollView ScrollView这个控件大家应该挺熟的吧,反正我是经常用到. 1.首先在Cocos Studio 的UI界面添加一个ScrollView的控件,然后设置其属性.ScrollView要设置的东西比较多,我一开始做了如下的设置: a 设置scrollView的显示窗口大小(Size)为:300x300: b 设置scrollView的容器层大小(ContentSize)为 300*3

自定义ListView,实现Item侧滑删除及侧滑出菜单效果

本程序是基于网上开源项目修改而来,具体来源忘了,懒得搜了,如果有不合适的地方,请原作者联系我,我会及时回复和处理的! 该例子程序中主要包含两个ListView,一个是实现侧滑删除,一个是侧滑出菜单,代码中的注释很全,我就不在赘述了,直接贴上核心代码和效果图,程序源码在最后,如果有不太明白的地方可以留言评论,我会及时回复,大牛勿喷啊! 侧滑删除ListView: package com.example.testslidelistview; import android.content.Contex

面向对象设计与面向对象编程

我发现,面向对象设计,被忽视的太严重了.使用OOP语言,却不是面向对象来设计.无非就是用类写C程序而已,而且这种情况还很常见.另一种情况是过度重视类,而忽视了对象,但是对象才是根本.不过本文会以类型为主,来介绍面向对象设计. 前言 面向对象是一个完全不同于传统软件设计方式的理念,传统软件设计是以功能为主体,以功能为模块,以功能为目标.而面向对象不同,是以软件运行中的组件为主体,实现某个功能,只是恰好这些组件的交互可以间接做到.这些组件,就是对象.用面向对象来设计软件,实际上就是设计一系列的对象,

Services01 (20191021)

一.构建两台虚拟机 真机快速产生虚拟机 [[email protected] ~]$ clone-vm7 Enter VM number: 11 VM tedu_node11 Create [[email protected] ~]$ clone-vm7 Enter VM number: 12 VM tedu_node11 Create 二.针对虚拟机的配置, 虚拟机A: 1.配置eth0的IP地址:192.168.4.7/24 [[email protected] ~]# nmcli conn

cocosStudio中使用PageView,ListView和ScrollView

晚上吃东西好像吃坏肚子了,.但是技术还要继续研究.最近工作中要使用CocosStudio做界面,好吧,不管对他有什么偏见,学习一下吧.这里主要记录一下三个控件的使用和说明.就是ScrollView,ListView和PageView. 首先大致的介绍一下这三个控件吧,scrollView顾名思义,滑动容器可以上下滑动,也可以左右滑动.PageView可以这么理解,它就是scrollView的超级版,因为它是整页滑动.listView是列表容器,它相对与其它两个控件来讲,它不不能添加精灵.粒子.声

Cocostudio学习笔记(6) ScrollView+ ListView+ PageView

这篇记录了三个控件的使用流程:ScrollView和 ListView.PageView. ---------------------------------------------------------------------------------------------------------------------------- ScrollView --------------------------------------------------------------------

使用cocos2d脚本生成lua绑定

这几天要老大要求把DragonBones移到cocos2dx 3.0 里边,并且绑定lua使用接口.因为刚学lua,使用的引擎也刚从2.2改为3.0,各种不熟悉,折腾了好几天才弄完,有空了总结一下 这篇先说一下cocos2d生成lua绑定的修改,有空的话再写一篇lua中注册回调到c++中方法 我的目录结构 假设我的目录名称是DragonBones -Cocosdx目录 -DragonBones  -c代码 -c代码头 -tools  db_DragonBones.ini genbindings.

【COCOS2DX-LUA 脚本开发之一】在Cocos2dX游戏中使用Lua脚本进行游戏开发(基础篇)并介绍脚本在游戏中详细用途!

[COCOS2DX-LUA 脚本开发之一]在Cocos2dX游戏中使用Lua脚本进行游戏开发(基础篇)并介绍脚本在游戏中详细用途! 分类: [Cocos2dx Lua 脚本开发 ] 2012-04-16 10:08 30803人阅读 评论(18) 收藏 举报 游戏脚本luaanimationpython 本站文章均为李华明Himi原创,转载务必在明显处注明:转载自[黑米GameDev街区] 原文链接: http://www.himigame.com/iphone-cocos2dx/681.htm

Android UI设计之&lt;十&gt;自定义ListView,实现QQ空间阻尼下拉刷新和渐变菜单栏效果

转载请注明出处:http://blog.csdn.net/llew2011/article/details/51559694 好久没有写有关UI的博客了,刚刚翻了一下之前的博客,最近一篇有关UI的博客是在2014年写的:Android UI设计之<七>自定义Dialog,实现各种风格效果的对话框,在那篇博客写完后由于公司封闭开发封网以及其它原因致使博客中断至今,中断这么久很是惭愧,后续我会尽量把该写的都补充出来.近来项目有个需求,要做个和QQ空间类似的菜单栏透明度渐变和下拉刷新带有阻尼回弹的效