A high school senior, who decided to get involved in Black Friday for the first time, described how tires were squealing in the carpark as people tried to flee.
"I knew it would be crazy, just not this crazy," he told AL.com.
Other shoppers in the centre were then seen with their guns drawn, the publication reported.
Police say the incident started with a physical altercation between an 18-year-old and the 21-year-old gunman.
The gunman tried to flee but was confronted by two Hoover police officers.
Captain Gregg Rector said at a news conference that a Hoover officer "did engage that individual, shot him and he is dead on the scene."
The second teen was hospitalised in serious condition.
Rector said a 12-year-old girl also struck by gunfire was hospitalised. Her condition was not immediately known.
- With AP