Faits: A. Par jugement du 17 juin 2010, le Tribunal pénal de l'arrondissement de la Sarine (ci-après: le Tribunal pénal) a condamné A._ pour crime contre la loi fédérale du 3 octobre 1951 sur les stupéfiants et les substances psychotropes (LStup; RS 812.121), à une peine privative de liberté ferme de 24 mois, sous déduction de la détention avant jugement subie dès le 16 octobre 2009. Cette peine est partiellement complémentaire à celle que ce même tribunal avait infligée au prénommé le 23 juin 2008. Le sursis qui lui avait été accordé alors - et qui portait sur 26 mois de peine privative de liberté - a été révoqué. En outre, par décision du 17 juin 2010, le Président du Tribunal pénal a ordonné le maintien en détention du condamné, afin de garantir l'exécution de sa peine et de pallier un risque de récidive qualifié de sérieux et concret. Le 2 novembre 2010, A._ a recouru contre le jugement du 17 juin 2010 auprès de la Cour d'appel pénal du Tribunal cantonal du canton de Fribourg (ci-après: la Cour d'appel pénal), concluant à son acquittement du chef de prévention de crime contre la LStup, à sa condamnation pour violation de cette loi à une peine de travail d'intérêt général de 360 heures, ainsi qu'à la non-révocation du sursis accordé le 23 juin 2008. Dans ce cadre ont notamment été produits des procès-verbaux d'audition et des retranscriptions d'enregistrements téléphoniques, dont il résulterait, selon le prénommé, que B._ - sur les déclarations duquel les premiers juges se sont principalement fondés pour retenir le crime contre la LStup - aurait menti. La cause est pendante devant la Cour d'appel pénal. B. Par arrêt du 17 novembre 2010, la Cour d'appel pénal a rejeté une demande de mise en liberté déposée par A._. Le 3 mars 2011, le prénommé a renouvelé sa demande de mise en liberté, qui lui a été refusée, par arrêt du 23 mars 2011. La Cour d'appel pénal a considéré en substance qu'il existait un risque de récidive et de fuite. C. Agissant par la voie du recours en matière pénale, A._ demande au Tribunal fédéral principalement d'annuler cet arrêt et d'ordonner sa mise en liberté immédiate. Il conclut subsidiairement à sa mise en liberté moyennant des conditions à fixer par l'autorité. Il requiert en outre l'assistance judiciaire. Le Ministère public du canton de Fribourg conclut au rejet du recours. La Cour d'appel pénal renonce à se déterminer et précise que la cause sera jugée en appel le 30 mai 2011. Le recourant a répliqué, confirmant ses motifs et ses conclusions.