Skip to content

Latest commit

 

History

History
executable file
·
140 lines (122 loc) · 3.7 KB

File metadata and controls

executable file
·
140 lines (122 loc) · 3.7 KB

CollectionView

w,h = System:screenSize();

window:backgroundColor(0x000000,1);

cellHeight = 100
imageUrl1 = "http://gju2.alicdn.com/bao/uploaded/i1/10000073270926575/TB2fpg0cXXXXXb6XpXXXXXXXXXX_!!0-0-juitemmedia.jpg"
imageUrl2 = "http://img4.duitang.com/uploads/item/201306/25/20130625045508_sairr.thumb.600_0.jpeg"
collectionView = nil;
collectionView = RefreshCollectionView {
	Section = {
		SectionCount = 5,

		RowCount = function(section)
			return 5;
		end,
		-- Spacing = function(section )
		-- 	return 0;
		-- end,
		-- EdgeInsets = function(section )
		-- 	return 20,0,0,0;
		-- end
	},
	Cell = {
		Id = function ( section, row )
			if( section%2==1 ) then
				return "ImageAndLabel";
			else
				return "ImageAndLabel2",(row==2 );
			end
		end,
		ImageAndLabel = {

			Size = function(section, row)
				return (w-10)/2 ,200;
			end,
			Init = function(cell)
				local cellWidth ,cellHeight = cell.window:size();
				cellHeight = cellHeight / 2;
				cell.icon = Image();
				cell.icon:frame(0, 0, cellHeight, cellHeight);

				cell.title = Label();
				cell.title:frame(0, cellHeight+2, cellHeight, 40);
				cell.title:textColor(0xffFFFF);
				cell.title:backgroundColor(0xff00ff);
				print("构造Cell--2");
			end,
			Layout = function(cell , section, row)
				
				cell.icon:image(imageUrl1, function()
						local x,y,w,h = cell.icon:frame();
						print("dongxicheng----",x,y,w,h);
					end);

				cell.title:text("测试"..section .."--" .. row);
				print("布局Cell--" , section, "--", row);

				cell.window:backgroundColor( section*0x770000 +  (row%3)*0x33 );
			end,
			Callback = function(cell, section, row)
				if( row%2 == 0 )then
					collectionView:reload();
					return;
				end
                print(section, row);
                collectionView:stopRefreshing();
				System:gc();
				collectionView:scrollToCell(section, row);
			end
		},
		ImageAndLabel2 = {
			Size = function(section, row)
				return w ,200;
			end,
			Init = function(cell)
				cell.icon = Image();
				cell.icon:frame(w*0.05, 10, cellHeight, cellHeight);

				cell.button = Button();
				cell.button:frame(0,0,100,60);
				cell.button:backgroundColor(0x777777);
				cell.button:callback( 
					function()
							Animate( function()
											cell.icon2:center(160,100);
									 end
								    ) ;
					end);


				cell.icon2 = Image();
				cell.icon2:frame(160, 0, cellHeight, cellHeight);

				print("构造Cell--2");
			end,
			Layout = function(cell , section, row)
				cell.icon:image(
					imageUrl1, 
					function() 
						local x,y,w,h = cell.icon:frame();
						print("dongxicheng----",x,y,w,h);
					end);

				cell.icon2:image(imageUrl1)
				print("布局Cell--" , section, "--", row);
				cell.button:text(tostring(section) .. "," .. tostring(row) );

				cell.window:backgroundColor( section*0x770000 +  (row%3)*0x33 );
			end,
			Callback = function(cell, section, row)
				print(section, row);
                collectionView:stopRefreshing();
				System:gc();
				collectionView:scrollToCell(section, row);
			end
		}
	},
	Callback = {
			Scrolling = function( firstVisibleSection, firstVisibleRow, visibleCellCount )
				print("scrolling", firstVisibleSection,"---" ,firstVisibleRow, "---", visibleCellCount);
			end,
			ScrollBegin = function(firstVisibleSection, firstVisibleRow, visibleCellCount )
				print("scrolling begin", firstVisibleSection,"---" ,firstVisibleRow, "---", visibleCellCount);
			end,
			ScrollEnd = function(firstVisibleSection, firstVisibleRow, visibleCellCount )
				print("scrolling end", firstVisibleSection,"---" ,firstVisibleRow, "---", visibleCellCount);
			end
	}
};

collectionView:frame(0,0,w,h-64);
collectionView:backgroundColor(0xffFFFF);
collectionView:miniSpacing(10);
-- collectionView:scrollDirection(1);