使用Corona SDK和Widget来显示表格数据的困难,使用display.newRetinaText
2015-1-15 3:17:55
收藏:0
阅读:205
评论:1
我正在按照 J.A. Whyte 在他的教程中的视频,这是我认为非常棒的 Corona SDK 商务应用程序教程。我像他在屏幕上输入代码一样输入了代码。我添加了一些故障排除代码,但我无法得到数据填充屏幕。我还为我的手机创建了一个构建,并在之前的 sdk 构建 2013.12.7 上运行它。这是代码。你可以注释掉关于 ping 的引用。
local widget = require("widget")
local top = display.statusBarHeight
local listRecs ={}
local list = nil
local nameData = {"Smith", "Johnson", "Williams", "Jones", "Brown", "Davis", "Miller", "Wilson", "Moore", "Taylor", "Anderson", "Thomas", "Jackson", "White", "Harris"}
local function setup()
local bg = display.newRect(0,top, display.contentWidth, display.contentHeight - top)
bg:setFillColor(0,155,73)
list = widget.newTableView {top = top +10, height = 450 }
maskFile = "mask.png"
end
local function loadData()
for x =1 , #nameData do
listRecs[x] = {}
listRecs[x].name = nameData[x]
listRecs[x].age = math.random(18,35)
listRecs[x].showDel = false
print(listRecs[x].name.." "..listRecs[x].age)
end
end
local function showRecords()
local function onRowRender(event)
local row = event.row
local rowGroup = event.view
local idx = row.index or 0
local color = 0
print("the index value is: "..idx)
row.textObj = display.newRetinaText(listRecs[idx].name, 0, 0, "Helvetica", 16)
row.textObj:setTextColor( color )
row.textObj:setReferencePoint(display.CenterLeftReferencePoint)
row.textObj.x = 20
row.textObj.y = rowGroup.contentHeight*0.35
row.textObj2 = display.newRetinaText(listRecs[idx].age, 0, 0, "Helvetica", 16)
row.textObj2:setTextColor( color )
row.textObj2:setReferencePoint(display.CenterLeftReferencePoint)
row.textObj2.x = 20
row.textObj2.y = rowGroup.contentHeight*0.65
rowGroup:insert(row.textObj)
rowGroup:insert(row.textObj2)
end -- onRowRender
local function rowListener(event)
end -- row Listener
for x = 1, #listRecs do
list:insertRow{
onRender = onRowRender,
listner = rowListener
}
end
end -- showRecords
setup()
loadData()
showRecords()
点赞
评论区的留言会收到邮件通知哦~
推荐文章
- 如何将两个不同的lua文件合成一个 东西有点长 大佬请耐心看完 我是小白研究几天了都没搞定
- 如何在roblox studio中1:1导入真实世界的地形?
- 求解,lua_resume的第二次调用继续执行协程问题。
- 【上海普陀区】内向猫网络招募【Skynet游戏框架Lua后端程序员】
- SF爱好求教:如何用lua实现游戏内调用数据库函数实现账号密码注册?
- Lua实现网站后台开发
- LUA错误显式返回,社区常见的规约是怎么样的
- lua5.3下载库失败
- 请问如何实现文本框内容和某个网页搜索框内容连接,并把网页输出来的结果反馈到另外一个文本框上
- lua lanes多线程使用
- 一个kv数据库
- openresty 有没有比较轻量的 docker 镜像
- 想问一下,有大佬用过luacurl吗
- 在Lua执行过程中使用Load函数出现问题
- 为什么 neovim 里没有显示一些特殊字符?
- Lua比较两个表的值(不考虑键的顺序)
- 有个lua简单的项目,外包,有意者加微信 liuheng600456详谈,最好在成都
- 如何在 Visual Studio 2022 中运行 Lua 代码?
- addEventListener 返回 nil Lua
- Lua中获取用户配置主目录的跨平台方法
这些代码已经太旧了,不适用于当前的构建。请尝试使用当前版本的代码,希望能有所帮助:
local widget = require("widget") local top = display.statusBarHeight local listRecs ={} local list = nil local nameData = {"Smith", "Johnson", "Williams", "Jones", "Brown", "Davis", "Miller", "Wilson", "Moore", "Taylor", "Anderson", "Thomas", "Jackson", "White", "Harris"} local function setup() local bg = display.newRect(0,top, display.contentWidth, display.contentHeight - top) bg:setFillColor(0,155,73) list = widget.newTableView {top = top +10, height = 450 ,onRowRender = onRowRender, onRowTouch = onRowTouch,} maskFile = "mask.png" end local function loadData() for x =1 , #nameData do listRecs[x] = {} listRecs[x].name = nameData[x] listRecs[x].age = math.random(18,35) listRecs[x].showDel = false print(listRecs[x].name.." "..listRecs[x].age) end end function onRowRender(event) local row = event.row local groupContentHeight = row.contentHeight local idx = row.index or 0 print("the index value is: "..idx) local textObj = display.newText( row, listRecs[idx].name, 0, 0, native.systemFontBold, 16 ) textObj.x = 20 textObj.anchorX = 0 textObj.y = groupContentHeight * 0.35 textObj:setFillColor( 0, 0, 0 ) local textObj2 = display.newText( row, listRecs[idx].age, 0, 0, native.systemFontBold, 16 ) textObj2.x = 20 textObj2.anchorX = 0 textObj2.y = groupContentHeight * 0.65 textObj2:setFillColor( 0, 0, 0 ) end -- onRowRender local function showRecords() local function rowListener(event) end -- row Listener for x = 1, #listRecs do list:insertRow{ } end end -- showRecords setup() loadData() showRecords()