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();
}
请确保在此之前您的控制器已初始化。结果如下所示:
有没有办法"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();
}
请确保在此之前您的控制器已初始化。结果如下所示: