diff --git a/library/ui/src/main/java/com/google/android/exoplayer2/ui/PlayerControlView.java b/library/ui/src/main/java/com/google/android/exoplayer2/ui/PlayerControlView.java
index a6636d71be..248ac9fdaf 100644
--- a/library/ui/src/main/java/com/google/android/exoplayer2/ui/PlayerControlView.java
+++ b/library/ui/src/main/java/com/google/android/exoplayer2/ui/PlayerControlView.java
@@ -49,8 +49,8 @@ import java.util.concurrent.CopyOnWriteArrayList;
* A view for controlling {@link Player} instances.
*
*
A PlayerControlView can be customized by setting attributes (or calling corresponding
- * methods), overriding the view's layout file or by specifying a custom view layout file, as
- * outlined below.
+ * methods), overriding drawables, overriding the view's layout file, or by specifying a custom view
+ * layout file.
*
*
Attributes
*
@@ -104,6 +104,30 @@ import java.util.concurrent.CopyOnWriteArrayList;
* layout is overridden to specify a custom {@code exo_progress} (see below).
*
*
+ * Overriding drawables
+ *
+ * The drawables used by PlayerControlView (with its default layout file) can be overridden by
+ * drawables with the same names defined in your application. The drawables that can be overridden
+ * are:
+ *
+ *
+ * - {@code exo_controls_play} - The play icon.
+ *
- {@code exo_controls_pause} - The pause icon.
+ *
- {@code exo_controls_rewind} - The rewind icon.
+ *
- {@code exo_controls_fastforward} - The fast forward icon.
+ *
- {@code exo_controls_previous} - The previous icon.
+ *
- {@code exo_controls_next} - The next icon.
+ *
- {@code exo_controls_repeat_off} - The repeat icon for {@link
+ * Player#REPEAT_MODE_OFF}.
+ *
- {@code exo_controls_repeat_one} - The repeat icon for {@link
+ * Player#REPEAT_MODE_ONE}.
+ *
- {@code exo_controls_repeat_all} - The repeat icon for {@link
+ * Player#REPEAT_MODE_ALL}.
+ *
- {@code exo_controls_shuffle_off} - The shuffle icon when shuffling is disabled.
+ *
- {@code exo_controls_shuffle_on} - The shuffle icon when shuffling is enabled.
+ *
- {@code exo_controls_vr} - The VR icon.
+ *
+ *
* Overriding the layout file
*
* To customize the layout of PlayerControlView throughout your app, or just for certain
@@ -123,29 +147,38 @@ import java.util.concurrent.CopyOnWriteArrayList;
*
- * {@code exo_ffwd} - The fast forward button.
- *
- * - Type: {@link View}
- *
* {@code exo_rew} - The rewind button.
*
- * {@code exo_prev} - The previous track button.
+ * {@code exo_ffwd} - The fast forward button.
*
- * {@code exo_next} - The next track button.
+ * {@code exo_prev} - The previous button.
+ *
+ * - Type: {@link View}
+ *
+ * {@code exo_next} - The next button.
*
* {@code exo_repeat_toggle} - The repeat toggle button.
*
- * - Type: {@link View}
+ *
- Type: {@link ImageView}
+ *
- Note: PlayerControlView will programmatically set the drawable on the repeat toggle
+ * button according to the player's current repeat mode. The drawables used are {@code
+ * exo_controls_repeat_off}, {@code exo_controls_repeat_one} and {@code
+ * exo_controls_repeat_all}. See the section above for information on overriding these
+ * drawables.
*
* {@code exo_shuffle} - The shuffle button.
*
- * - Type: {@link View}
+ *
- Type: {@link ImageView}
+ *
- Note: PlayerControlView will programmatically set the drawable on the shuffle button
+ * according to the player's current repeat mode. The drawables used are {@code
+ * exo_controls_shuffle_off} and {@code exo_controls_shuffle_on}. See the section above
+ * for information on overriding these drawables.
*
* {@code exo_vr} - The VR mode button.
*
diff --git a/library/ui/src/main/java/com/google/android/exoplayer2/ui/PlayerView.java b/library/ui/src/main/java/com/google/android/exoplayer2/ui/PlayerView.java
index c55fe09f76..03168643cf 100644
--- a/library/ui/src/main/java/com/google/android/exoplayer2/ui/PlayerView.java
+++ b/library/ui/src/main/java/com/google/android/exoplayer2/ui/PlayerView.java
@@ -79,7 +79,8 @@ import org.checkerframework.checker.nullness.qual.RequiresNonNull;
* during playback, and displays playback controls using a {@link PlayerControlView}.
*
* A PlayerView can be customized by setting attributes (or calling corresponding methods),
- * overriding the view's layout file or by specifying a custom view layout file, as outlined below.
+ * overriding drawables, overriding the view's layout file, or by specifying a custom view layout
+ * file.
*
*
Attributes
*
@@ -172,6 +173,12 @@ import org.checkerframework.checker.nullness.qual.RequiresNonNull;
* exo_controller} (see below).
*
*
+ * Overriding drawables
+ *
+ * The drawables used by {@link PlayerControlView} (with its default layout file) can be overridden
+ * by drawables with the same names defined in your application. See the {@link PlayerControlView}
+ * documentation for a list of drawables that can be overridden.
+ *
* Overriding the layout file
*
* To customize the layout of PlayerView throughout your app, or just for certain configurations,