Android MediaController 自定义图形

Android MediaController custom graphics

有没有办法"easily"更改 MediaController 的图形以显示 "skip ahead 5sec" 或 "rev 5 sec"(我有)而不是 ff 和 rew 按钮?

最好是复制 source code of MediaController 并根据您的需要更改布局。不容易,但最好的方法:)

你也可以尝试获取

ImageButton mRewButton;

通过反思并尝试更改它,但我不建议这样做。这是如何做到的:

try {
    Field field = mediaController.getClass().getDeclaredField("mRewButton");
    field.setAccessible(true);
    Object value = field.get(mediaController);
    if (value instanceof ImageButton) {
        // do some changes here
        ((ImageButton) value).setImageResource(R.mipmap.ic_launcher);
    }
} catch (NoSuchFieldException e) {
    //handle errors gently
    e.printStackTrace();
} catch (IllegalAccessException e) {
    //handle errors gently
    e.printStackTrace();
}

请确保在此之前您的控制器已初始化。结果如下所示: