1997年,参演由香港导演陈果执导的《香港制造》,饰屠中秋并获得了第17届香港电影金像奖最佳新人奖,同年顺利签约到刘德华的公司,正式出道。1998年,继续参演由香港导演陈果执导的剧情片《去年烟花特别多》,通过出演吴家璇一角提名第18届香港电影金像奖最佳男配角。1999年,与谢霆锋、冯德伦、吴彦祖等共同出演由陈木胜执导的电影《特警新人类》。2000年,联合冯德伦、陈冠希出演由陈木胜执导的《特警新人类2》。2002年,与洼冢洋介、Arata、中村狮童共同主演由日本漫画改编而成的电影版《乒乓》,饰演乒乓球手孔文革。2004年,与李丽珍、徐锦江共同主演现代枪战片《枪缘》,饰演女主角的弟弟。2005年,在电视剧《仙剑奇侠传》中饰演幼年王小虎。2006年,出演由香港导演郑保瑞执导的动作片《狗咬狗》,在片中扮演一个被大人世界愚弄、忽视的乖张男生形象,并凭借该片提名第43届台湾电影金马奖最佳男主角。同年,出演由张一白执导的电影《夜·上海》,饰演一位地道的日文翻译。2007年,在由陈木胜执导的动作电影《男儿本色》中饰演何永强一角。2009年,与蒋璐霞共同主演由熊欣欣导演、马伟豪监制的女性时装动作电影《战无双》。2010年,出演苏万聪、唐基明共同执导的电视剧《怒火街头》,在剧中扮演丁家富。同年,出演由曾志伟、张学友共同主演的贺岁片《72家租客》。2012年,联合郑嘉颖、胡杏儿共同主演由梁家树、陈维冠执导的电视剧《怒火街头2》。同年,出演由中国和日本合作拍摄、香港导演梁徳森执导的惊悚电影《幻影凶灵》。2013年,与柳岩、钟丽缇共同出演由香港导演梁德森执导的悬疑片《人间蒸发》,饰华人警探木下。同年,与周秀娜、刘羽琦共同主演惊悚电影《冷瞳》,在片中饰演由周秀娜扮演的苏雨辰的未婚夫。2014年,参演由陈嘉上和郑中基联合执导的奇幻夺宝喜剧电影《神秘宝藏》。同年,出演由钟澍佳执导的幽默都市励志电影《男人不可以穷》。2015年,出演由香港导演林岭东执导的警匪动作枪战片《谜城》。同年,与包贝尔共同出演由徐峥自导自演的喜剧电影《港囧》。2020年,以潮流召集人的身份参加创意潮人挑战真人秀《潮玩人类在哪里》。