Estrella de I Am Number Four, que fue nominado para un premio Empire y un Young Artist Award por su papel en la película del 2006 Stormbreaker. Otras de sus películas incluyen The Butler, Beastly y Magic Mike.
Comenzó su carrera como modelo infantil a los siete años después de conocer a Ralph Lauren en una tienda de Nueva York. Apareció en su primer comercial cuando tenía seis años.
Company, una revista británica de mujeres, lo votó como el 35º soltero más deseado en el 2009.
Tiene un medio hermano menor llamado James. Tuvo en una relación con Dianna Agron, su co-protagonista en la película I Am Number Four, del 2010 al 2011. Estuvo comprometido con Riley Keough en el 2012. Después, sostuvo una relación con la modelo Marloes Horst del 2014 al 2016. En el 2018 comenzó a salir con Gabriela Giovanardi. Se comprometió con Toni Garrn en el 2019 y se casaron en el 2020.
Apareció junto a Channing Tatum en la película Magic Mike del 2012.