wake-up-neo.com

Wie erstelle ich eine benutzerdefinierte Benutzeroberfläche für Android MediaController

Ich möchte die Steuerelemente im MediaController für meinen Videoplayer anpassen. Ich möchte das Bild für die Wiedergabetaste austauschen, die Haut ändern, die Farbe ändern, ect.

Gibt es einen bekannten Weg, dies zu tun?

Vielen Dank

51
user1681001

Ich hatte das gleiche Problem bei einem kürzlich durchgeführten Projekt und erstellte schließlich eine benutzerdefinierte Implementierung, die auf dem Stock MediaController basierte. Ganz rechts wird eine Vollbild-Schaltfläche hinzugefügt. Auch wenn Sie dies nicht möchten, sollte diese Klasse ein guter Ausgangspunkt sein.

Code:

Bildressourcen:

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

Fallstricke:

  • Die Klasse geht davon aus, dass die Ankeransicht ein FrameLayout ist, um sich unten zu positionieren.
  • Die Klasse verwendet kein Fenster, um sicherzustellen, dass das Steuerelement auf dem Anker schwebt. Dies war jedoch kein Problem für mich, da die show () -Methode jedes Mal mAnchor.addView () ausführt.
  • Die Klasse verwendet ihr eigenes MediaPlayerControl-Protokoll. Dies ermöglicht Anpassungen wie toggleFullScreen ()

EDIT (2013) : Weitere Informationen finden Sie in diesem Tutorial: http://www.brightec.co.uk/blog/custom- Android-Media-Controller

EDIT (2018) : Sie können jetzt den wunderbaren ExoPlayer verwenden und die Benutzeroberfläche Ihres Players vollständig anpassen, indem Sie einfach eine Layoutdatei überschreiben.

100
Blago