Several Hollywood films have faced criticism in recent months for featuring white actors in Asian roles.
Thousands took part in an online campaign calling for an Asian actress to be cast as Mulan.
Recent films accused of whitewashing include the Hollywood remake of Japanese anime Ghost in the Shell, which had Scarlett Johansson in the main role which was originally Japanese, and Chinese epic The Great Wall which starred Matt Damon as its lead character.
Liu, nicknamed "Fairy Sister" for her delicate looks and previous roles in fantasy dramas, is well-known as an actress, model and singer in China.
The 30-year-old is said to be fluent in English, having grown up partly in New York. The Hollywood Reporter said she was picked out of nearly 1,000 candidates for the film.
Mulan tells the story of the legend of warrior Hua Mulan who disguises herself as a man to fight in the army to spare her weak father from conscription.
Disney's announcement on its blog about Liu's casting was met with delight on Twitter as well as on Sina Weibo, China's microblogging network.
Many online celebrated it as a win for diversity in Disney films.
Chinese-American actress Ming-Na Wen, who voiced Mulan in the original animated movie, also gave her stamp of approval.
Chinese netizens congratulated Liu, with many praising Disney's choice. "She completely fits the role," said one commenter, while another said: "Needs to know martial arts, can also speak English, has star quality - it definitely should be Liu Yifei."
The film has been under intense scrutiny since it was announced that Disney intended to remake Mulan as a live-action film.
An online petition calling for an Asian actress in the role attracted more than 100,000 signatures before it was shut on Thursday, claiming success in its campaign with Liu's casting.
Earlier this year, British actor Ed Skrein who was cast as an Asian character in the upcoming Hellboy reboot pulled out of the film so that the role could be "cast appropriately". It then went to Korean-American actor Daniel Dae Kim.
More about: #Disney