我正在尝试自定义媒体音量控制器的主题(我不知道它叫什么,只是试着命名它)。它就像一个带有“Media Volume”标题的Toast,当我们按下游戏中的音量按钮(+和 - )时会出现。但我不知道它是哪个View,或者它是Toast,一个Dialog。就我而言,我找不到任何引用它的东西。仅 Activity.setVolumeControlStream(AudioManager.STREAM_MUSIC) 在您的活动中启用它,而不再是> _< 如果有人知道如何定制它,或只是它的名字,请帮助我! 感谢。
答案 0 :(得分:7)
很抱歉我误解了你的问题。
我认为您可以自定义“Media Volume Controller”的方式是自己控制音量并显示自定义视图(或Toast)。因为“Media Volume”Toast(这是一个Toast,参见VolumePanel.onShowVolumeChanged的源代码)是由android系统创建并显示的,你无法自定义。
以下是可能解决您问题的示例代码:
public boolean onKeyDown(int keyCode, KeyEvent event) {
AudioManager am = (AudioManager) this.getSystemService(Context.AUDIO_SERVICE);
if (keyCode == KeyEvent.KEYCODE_VOLUME_UP) {
// Or use adjustStreamVolume method.
am.adjustVolume(AudioManager.ADJUST_RAISE, AudioManager.FLAG_PLAY_SOUND);
Toast.makeText(this, "Volume up", Toast.LENGTH_SHORT).show();
return false;
} else if (keyCode == KeyEvent.KEYCODE_VOLUME_DOWN) {
// Or use adjustStreamVolume method.
am.adjustVolume(AudioManager.ADJUST_LOWER, AudioManager.FLAG_PLAY_SOUND);
Toast.makeText(this, "Volume down", Toast.LENGTH_SHORT).show();
return false;
}
return super.onKeyDown(keyCode, event);
}
答案 1 :(得分:0)
您可以覆盖游戏活动的onKeyDown
。并根据按键显示“吐司”。在您的“活动”中按下某个键时,将调用onKeyDown
方法。以下是示例代码:
public boolean onKeyDown(int keyCode, KeyEvent event) {
if (keyCode == KeyEvent.KEYCODE_VOLUME_UP) {
// show volumn up toast
} else if (keyCode == KeyEvent.KEYCODE_VOLUME_DOWN) {
// show volumn down toast
}
return super.onKeyDown(keyCode, event);
}