Я пытаюсь настроить тему Media Volume Controller (я не знаю, как она называется, просто попробуйте назвать ее). Это что-то вроде Toast с заголовком «Media Volume», который появляется, когда мы нажимаем кнопки громкости (+ и -) в играх. Но я не знаю, какой это вид, или это тост, или диалог. Насколько я пытался, я не мог найти ничего, что ссылалось бы на это. Только Activity.setVolumeControlStream(AudioManager.STREAM_MUSIC), чтобы включить его в свою активность, и ничего больше >_‹ Если кто-то знает, как настроить его или просто его имя, пожалуйста, помогите мне! Спасибо.
Пользовательская тема для Media Volume Controller (как бы она ни называлась) Android?
Ответы (2)
Извините за непонимание вашего вопроса.
Я думаю, что способ, которым вы можете настроить «Контроллер громкости мультимедиа», - это самостоятельно контролировать громкость и показывать свой настраиваемый вид (или тост). Поскольку тост «Media Volume» (это тост, см. исходный код 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);
}
person
Tony
schedule
10.10.2010
Еще раз спасибо за вашу помощь. Я попробую ваше предложение. Очень жаль, что я новичок в Stackflow, поэтому не могу проголосовать за вас.
- person Anh Tuan; 11.10.2010
Вы можете переопределить 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);
}
person
Tony
schedule
08.10.2010
Спасибо за помощь. Я также думал об этом, но этот контроллер громкости мультимедиа не является тостом, потому что, если он отображается и вы нажимаете кнопку громкости, он не появится снова, а изменит полосу громкости (тост исчезнет, а затем снова появится через несколько секунд). секунды). И он расположен вверху экрана, а не внизу, как Toast. Ааа, хотел бы я знать, к какому классу он принадлежит ›_‹
- person Anh Tuan; 09.10.2010
Ань Туан, я думаю, что это на самом деле Тост. Взгляните на Toast API. Есть возможность установить пользовательский вид для Toast, и вы можете изменить содержимое Toast во время его отображения, а также вы можете изменить положение Toast, используя метод setGravity().
- person Ridcully; 28.01.2011