web-dev-qa-db-fra.com

comment créer une interface utilisateur personnalisée pour Android MediaController

Je souhaite personnaliser les commandes du MediaController pour mon lecteur vidéo. Je veux échanger l'image pour le bouton de lecture, changer la peau, changer la couleur, etc.

Existe-t-il une manière connue de procéder?

Merci

51
user1681001

J'ai eu le même problème sur un projet récent et j'ai fini par créer une implémentation personnalisée basée sur le stock MediaController. Il ajoute un bouton plein écran à l'extrême droite, mais même si ce n'est pas ce que vous voulez, cette classe devrait être un bon point de départ.

Code:

Ressources d'image:

  • enter image description here
  • http://imgur.com/JYJGN
  • http://imgur.com/R0txq
  • http://imgur.com/dQ6wA

Gotchas:

  • La classe suppose que la vue d'ancrage est un FrameLayout pour se positionner en bas.
  • La classe n'utilise pas de fenêtre pour garantir que le contrôle flotte au-dessus de l'ancre. Cependant, cela n'a pas été un problème pour moi car la méthode show () fait à chaque fois mAnchor.addView ().
  • La classe utilise son propre protocole MediaPlayerControl. Cela permet des personnalisations telles que toggleFullScreen ()

EDIT (2013) : Voir ce tutoriel pour plus de détails: http://www.brightec.co.uk/blog/custom- Android-media-controller

EDIT (2018) : Vous pouvez maintenant utiliser le merveilleux ExoPlayer et personnaliser entièrement l'interface utilisateur de votre lecteur en remplaçant simplement un fichier de mise en page.

100
Blago