zoukankan      html  css  js  c++  java
  • 采用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

  • 相关阅读:
    AWS 免费套餐
    UWP DEP0700: 应用程序注册失败。[0x80073CF9] 另一个用户已安装此应用的未打包版本。当前用户无法将该版本替换为打包版本。
    UWP 应用程序名称本地化以及商店显示名称本地化
    ES6知识整理(6)--Symbol函数
    【web前端】移动端控制台插件,手机端页面查看相关页面控制台信息
    ES6知识整理(5)--对象的扩展
    ES6知识整理(4)--数组的扩展
    【移动端web】软键盘兼容问题
    ES6知识整理(3)--函数的扩展
    ES6知识整理(2)--变量的解构赋值
  • 原文地址:https://www.cnblogs.com/annapolis/p/5251173.html
Copyright © 2011-2022 走看看