--[[ 列表的标题栏 --]] UIListTitle = UIListTitle or BaseClass() function UIListTitle:__init(parent_wnd, bheight, del_x) -- 标题栏高度 self.height = bheight or 45 self.del_x=del_x or 1 self.root_wnd = parent_wnd self.bgList = {} self.labelList = {} self.root_size = parent_wnd.transform.sizeDelta local bg = UiFactory.createChild(self.root_wnd,UIType.Image,"bg") lua_resM:setImageSprite(self,bg:GetComponent("Image"),"common_asset", "tyui_syq_bg") -- bg.transform.localPosition = Vector3(0, 0, 0) bg.transform.sizeDelta = Vector2(self.root_size.x, self.height) bg.transform.anchorMax = Vector2(0, 1) bg.transform.anchorMin = Vector2(0, 1) bg:GetComponent("Image").type = UnityEngine.UI.Image.Type.Sliced bg.transform.pivot = Vector2(0,1) bg.transform.localPosition = Vector3(0, 0, 0) end -- 设置标题栏{{"名字",宽度},{"名字",宽度}...} function UIListTitle:SetData(data) self.data = data or {} self:ClearItems() local px = 0 local len = #self.data for i=1,len do local d = self.data[i] local title = d[1] or "" local width = d[2] or 40 local font_size = d[3] or 20 if i~=len then local bg = self:CreateBg(px,width) self.bgList[i] = bg end local label = self:CreateLabel(title,px,width, font_size) self.labelList[i] = label px = px + width end end function UIListTitle:ClearItems() for k,v in pairs(self.bgList) do lua_viewM:ClearItem(v) end self.bgList={} for k,v in pairs(self.labelList) do lua_viewM:ClearItem(v) end self.labelList={} end function UIListTitle:CreateLabel(str,px,width, font_size) local label = UiFactory.createChild(self.root_wnd,UIType.Label2,"label") -- label.transform.localPosition = Vector3(px, 0, 0) label.transform.localPosition = Vector3(px, 0, 0) label.transform.sizeDelta = Vector2(width, self.height or 45) label:GetComponent("Text").alignment = UnityEngine.TextAnchor.MiddleCenter label:GetComponent("Text").text = str label:GetComponent("Text").color = ColorUtilValue.WHITE label:GetComponent("Text").fontSize = font_size label.transform.anchorMax = Vector2(0, 1) label.transform.anchorMin = Vector2(0, 1) label.transform.pivot = Vector2(0,1) label.transform.localPosition = Vector3(px, 0, 0) return label end function UIListTitle:CreateBg(px,width) local bg = UiFactory.createChild(self.root_wnd,UIType.Image,"bg") lua_resM:setImageSprite(self,bg:GetComponent("Image"),"common_asset", "tyui_syq_gt") -- bg.transform.localPosition = Vector3(px+width, 0, 0) bg.transform.localPosition = Vector3(px+width, 0, 0) bg.transform.sizeDelta = Vector2(1, self.height or 45) bg.transform.anchorMax = Vector2(0, 1) bg.transform.anchorMin = Vector2(0, 1) bg.transform.pivot = Vector2(0,1) bg.transform.localPosition = Vector3(px+width, 0, 0) return bg end --传入颜色id function UIListTitle:SetLabelColor( color_id ) for _,v in pairs(self.labelList) do v:GetComponent("Text").color = ColorUtil:GetGoodsColor(color_id) end end