2011-11-29 24 views

回答

1

首先,我不认为这是可行的。 HTC在Sense中这样做,但我认为他们直接编辑OS。

其次,你应该真的不会这样做,即使这是可能的。用户期望给定UI元素在整个操作系统中保持一致。取代系统提供的界面的自定义用户界面元素总是会破坏平台体验。

+0

因此,当我的应用程序运行时,无法隐藏卷烤面包? – user987362

+0

您之前没有提到这个关键的“我的应用程序正在运行时”。 :-)尝试索尼的答案作为你的活动的键盘处理程序。 – Yiannis

+0

在发布我曾尝试使用该代码的问题之前,我已尝试使用该代码。但是显示的是吐量。我只想隐藏该吐司并显示我自己的音量级别指示器 – user987362

1

试试这个..

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); 
}