2013-08-20 51 views
3

當按下volume_up/volume_down鍵時,是否可以隱藏音量ui?我明白,當它顯示一個對話框時,當它看起來不起作用時,它可以通過一個活動來完成。在對話框中按下音量降低時隱藏UI

有沒有解決方法?

+0

你是什麼意思卷UI?你的意思是屏幕上方的音量級別對話框? –

+0

這是一個很好的問題,你在談論什麼音量UI?答案並不重要,因爲你可以訪問調用它並關閉它的方法。 –

+0

與此相似嗎? http://stackoverflow.com/questions/14563208/android-hide-volume-change-bar-from-device – Max

回答

7

這應該與Dialog類工作的敬酒消息:

AudioManager man = (AudioManager)getSystemService(Context.AUDIO_SERVICE); 
dialog.setOnKeyListener(new OnKeyListener() { 
    @Override 
    public boolean onKey(DialogInterface dialog, int keyCode, KeyEvent event) { 
     switch (event.getKeyCode()) { 
      case KeyEvent.KEYCODE_VOLUME_UP: 
       man.adjustStreamVolume(AudioManager.STREAM_MUSIC, 
        AudioManager.ADJUST_RAISE, 
        AudioManager.FLAG_REMOVE_SOUND_AND_VIBRATE); 
       return true; 
      case KeyEvent.KEYCODE_VOLUME_DOWN: 
       man.adjustStreamVolume(AudioManager.STREAM_MUSIC, 
        AudioManager.ADJUST_LOWER, 
        AudioManager.FLAG_REMOVE_SOUND_AND_VIBRATE); 
       return true; 
      default: 
       return super.onKeyDown(keyCode, event); 
     } 
    } 
}); 

就像在Android: Hide Volume change bar from device?

+0

嗨,我試過了,但UI滑塊仍然顯示。唯一不同的是 man =(AudioManager)getActivity()。getSystemService(Context.AUDIO_SERVICE); – sean

+0

對我來說 - Android 2.3.3 - 它的工作。你使用什麼版本?你可以嘗試設置一個Log.d當一個按鈕被按下,這樣你就可以看到它是否被調用?你能告訴我們你的完整代碼嗎? – Max

+0

你的解決方案是正確的。問題是由我的代碼中的問題引起的。我已更新我的代碼以顯示更改 – sean

-2

你試過setVisibility(View.INVISIBLE)嗎?也去和可見。

2

試試這個代碼,它應該禁用卷

@Override 
public boolean onKeyDown(int keyCode, KeyEvent event) { 
    if ((keyCode == KeyEvent.KEYCODE_VOLUME_DOWN)){ 
     //Do something to hide the view 
     AudioManager manager = (AudioManager)this.getSystemService(Context.AUDIO_SERVICE); 
     manager.adjustVolume(AudioManager.ADJUST_LOWER, 0); 
    } 
    if ((keyCode == KeyEvent.KEYCODE_VOLUME_UP)){ 
     //Do something to hide the view 
     AudioManager manager = (AudioManager)this.getSystemService(Context.AUDIO_SERVICE); 
     manager.adjustVolume(AudioManager.ADJUST_RAISE, 0); 
    } 
    return true; 
} 
+0

嗨,音量滑塊仍然顯示。 – sean

+0

@sean嘗試新的修改後的代碼 –