The reason you have bouncing is because your characters animations have different collision boxes. Like if you walk into a wall your character might stop because it is touching the wall and automatically switch to idle, but idle has a smaller collision box and thus is not touching the wall and allows to start walking again.
It´s a good idea to have a single (invisible) sprite without animations that serves as the characters collision box and have the actual sprite pinned to the invisible one.