NBA star LeBron James hit out at President Trump in a veiled swipe Monday, saying "the guy in control" had given racists the platform to be "outspoken without fear."

“The guy in control has given people and racism, negative racism, an opportunity to be out and outspoken without fear,” the Cleveland Cavaliers small forward told reporters before his game Monday. “He’s allowed people to come out and just feel confident about doing negative things.”

But James also expressed optimism for a more accepting America, saying he hoped he was making Dr. Martin King Jr. "proud" as the nation marked MLK Day.

"We all have to stand united as one, especially as Americans, because we all know and we all believe this is the greatest country in the world," he continued. "We all have to continue to come together and shine a brighter light on, I don't want to use the word stupidity, but that's what it basically comes down to."

James has been vocal in his advocacy for racial equality and his opposition to Trump, calling the president "U bum" in September at the height of Trump's public spat with Golden State Warriors point guard Stephen Curry.

James' comments follow reports Trump used the phrase "shithole countries" to refer to Haiti and African nations in a White House meeting on Thursday with a bipartisan group of senators held to discuss immigration reform.

Trump on Friday refuted the claims, while the lawmakers present have since recounted different recollections of the conversation.