--[[ 茶馆官方活动界面 --]] local ClubOfficialActivityView = class("ClubOfficialActivityView", cc.UIView) local COLOR_ITEM_SELECTED = cc.c3b(179,69,12); local COLOR_ITEM_NORMAL = cc.c3b(49,67,81); function ClubOfficialActivityView:ctor(data) ClubOfficialActivityView.super.ctor(self) -- 当前正在显示的活动 self.curShowActivityView = {} self.ui = loadUI("res/ui/ui_club/ui_club_common_activity.ui") self:addChild(self.ui) self.ui.Items.ImageView_activity:setVisible(false) self.activityList = data --活动图片名 self.fileName = {} --预加载资源 -- cc.SpriteFrameCache:getInstance():addSpriteFramesWithFile("res/ui/zy_club/club_common/club_common.plist"); end function ClubOfficialActivityView:onEnter() ClubOfficialActivityView.super.onEnter(self) self.ui.Items.Button_Close:registerClick(handler(self, self.onClickClose)) --self:bindEvent(app, "onGetActivityInfoResponse", handler(self, self.updateView)) self:updateView() end function ClubOfficialActivityView:updateView() -- self.activityList = app.club_php.clubofficialActivityList[self.ClubInfo.gid] if not self.activityList then return end local tActivityBtn = self.ui.Items.Button_Activity:getCopied() self.ui.Items.ScrollView:getInnerContainer():setAutoSize(true) self.ui.Items.ScrollView:removeAllChildren() self.CheckList = {} local activityMax = table.nums(self.activityList) local index = 0 local firstBtn for i ,v in pairs(self.activityList) do index = index + 1 local activityBtn = tActivityBtn:getCopied() activityBtn.Items = getUIItems(activityBtn); activityBtn.Items.title:setText(v.tname)--活动名称 activityBtn:setTag(v.type)--活动id activityBtn:registerClick(handler(self , self.onClickItem)) if index == 1 then firstBtn = activityBtn end self.ui.Items.ScrollView:addChild(activityBtn) self.CheckList[index] = activityBtn local urlfile1, time1 = convertIconUrl(v.img); --local urlfile2, time2 = convertIconUrl(self.attyData.ext.share_pic); self.fileName[i] = getImageNameFromUrl(urlfile1) --self.fileName2 = getImageNameFromUrl(urlfile2) local fullPath = cc.FileUtils:getInstance():getWritablePath()..self.fileName[i]; local isExist = cc.FileSystem:fileExists(fullPath) if (not isExist) then getImageFromUrlWithTime(v.img, self.fileName[i], nil, function() if index == activityMax then --self:setActivityImage() self:onClickItem(firstBtn, false) end end) else --self:setActivityImage() self:onClickItem(firstBtn, false) end end self.ui.Items.ScrollView:jumpToTopOnSizeChanged(); end function ClubOfficialActivityView:setActivityImage(id) local texture = loadTextureFromFile(self.fileName[id]) if not texture then self:removeFromParent() return end self.ui.Items.ImageView_activity:setTexture2(texture) self.ui.Items.ImageView_activity:setVisible(true) end function ClubOfficialActivityView:onClickClose() playBtnCloseEffect() self:removeFromParent() end function ClubOfficialActivityView:onClickItem(event, isTouch) if isTouch ~= false then playBtnTagEffect() end self:restoreAllActivityBtn() --event:setBright(false) --判断节点是否存在 if not tolua.isnull(event) then event:loadTextureNormal("res/ui/zy_dating/chuanjian/chuangjian_btn_sel.png") local tag = event:getTag() self:setActivityImage(tag) self:refreshItemState(tag); end end function ClubOfficialActivityView:refreshItemState (tag) for k, v in ipairs(self.CheckList or {}) do if not tolua.isnull(v) then local color = v:getTag() == tag and COLOR_ITEM_SELECTED or COLOR_ITEM_NORMAL; v.Items.title:setColor(color); end end end --复原所有活动按钮 function ClubOfficialActivityView:restoreAllActivityBtn() if self.CheckList and table.nums(self.CheckList) > 0 then for i,v in pairsByKeys(self.CheckList) do --判断节点是否存在 if not tolua.isnull(v) then v:loadTextureNormal("res/ui/zy_dating/chuanjian/chuangjian_btn_nor.png") end end end --[[local childs = self.ui.Items.ScrollView:getChildren() if childs and table.nums(childs) > 0 then for i,v in pairs(self.ui.Items.ScrollView:getChildren()) do --v:setBright(true) v:loadTextureNormal("club_common_img_left_nor.png", cc.TextureResType.plistType) end end--]] end return ClubOfficialActivityView;