Bravo's first assignment in his new role will be next month's Champions Trophy in England.
Explaining the West Indies Cricket Board's decision, selection panel chairman Clyde Butts said: "Dwayne Bravo is an experienced, seasoned and senior cricketer who has demonstrated leadership qualities."
He added: "He has served as West Indies vice-captain and has had some success when he has led the West Indies team on occasion. We believe that his transition to the position of captaincy will be a smooth one.
"Our results in Tests and T20s have been showing consistent improvement and Sammy deserves every kudos for the work he has done in leading and moulding the team in these formats.
"We remain confident in his leadership in these formats and will recommend that he continues as the captain for Test and T20 cricket. However, our ODI results have not been as strong and we believe that it is best that we freshen the leadership of the team in this format."
Sammy led the Windies to the World Twenty20 title last October but has overseen only three ODI series victories in the past three years.
Bravo was thrilled to be handed the role, and he said: "To be named captain of the West Indies one-day team is one of the highest honours and I am truly humbled to have been appointed to this most prestigious position.
"I am really looking forward to the opportunity to lead a great team that has a combination of young talent and experienced players."
He added: "The brand of cricket that I intend to bring is a never-say-die attitude and I am really looking forward to the opportunity."
Squad: Dwayne Bravo (capt), Denesh Ramdin (vice-capt, wkt), Tino Best, Darren Bravo, Johnson Charles, Chris Gayle, Jason Holder, Sunil Narine, Kieron Pollard, Ravindranath Rampaul, Kemar Roach, Darren Sammy, Marlon Samuels, Ramnaresh Sarwan, Devon Smith.