How to create a list view using the Table View Library.
This example shows the list with a transparent background, allowing an image beneath to show through.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 | --import the table view library local tableView = require("tableView") --import the button events library local ui = require("ui") display.setStatusBar( display.HiddenStatusBar ) --initial values local screenOffsetW, screenOffsetH = display.contentWidth - display.viewableContentWidth, display.contentHeight - display.viewableContentHeight local myList, backBtn, detailScreenText local background = display.newImage("bg.png", true) --setup a destination for the list items local detailScreen = display.newGroup() detailScreenText = display.newText("You tapped item", 0, 0, native.systemFontBold, 24) detailScreenText:setTextColor(255, 255, 255) detailScreen:insert(detailScreenText) detailScreenText.x = math.floor(display.contentWidth/2) detailScreenText.y = math.floor(display.contentHeight/2) detailScreen.x = display.contentWidth --setup functions to execute on touch of the list view items function listButtonRelease( event ) self = event.target local id = self.id print(self.id) detailScreenText.text = "You tapped item ".. self.id transition.to(myList, {time=400, x=display.contentWidth*-1, transition=easing.outExpo }) transition.to(detailScreen, {time=400, x=0, transition=easing.outExpo }) transition.to(backBtn, {time=400, x=math.floor(backBtn.width/2) + screenOffsetW*.5 + 6, transition=easing.outExpo }) transition.to(backBtn, {time=400, alpha=1 }) delta, velocity = 0, 0 end function backBtnRelease( event ) print("back button released") transition.to(myList, {time=400, x=0, transition=easing.outExpo }) transition.to(detailScreen, {time=400, x=display.contentWidth, transition=easing.outExpo }) transition.to(backBtn, {time=400, x=math.floor(backBtn.width/2)+backBtn.width, transition=easing.outExpo }) transition.to(backBtn, {time=400, alpha=0 }) delta, velocity = 0, 0 end local topBoundary = display.screenOriginY + 40 local bottomBoundary = display.screenOriginY + 0 -- setup the data local data = {} for i=1, 20 do data[i] = "List item ".. i end -- Create a list with no background, allowing the background image to show through myList = tableView.newList{ data=data, default="listItemBg_white.png", over="listItemBg_over.png", onRelease=listButtonRelease, top=topBoundary, bottom=bottomBoundary, callback=function(row) local t = display.newText(row, 0, 0, native.systemFontBold, textSize) t:setTextColor(255, 255, 255) t.x = math.floor(t.width/2) + 12 t.y = 46 return t end } --Setup the nav bar local navBar = display.newImage("navBar.png", 0, 0, true) navBar.x = display.contentWidth*.5 navBar.y = math.floor(display.screenOriginY + navBar.height*0.5) local navHeader = display.newText("My List", 0, 0, native.systemFontBold, 16) navHeader:setTextColor(255, 255, 255) navHeader.x = display.contentWidth*.5 navHeader.y = navBar.y --Setup the back button backBtn = ui.newButton{ default = "backButton.png", over = "backButton_over.png", onRelease = backBtnRelease } backBtn.x = math.floor(backBtn.width/2) + backBtn.width + screenOffsetW backBtn.y = navBar.y backBtn.alpha = 0 |