我的要求是用自定义的替换默认卷toast。有什么解决方案吗?
答案 0 :(得分:1)
首先,我不认为这是可行的。 HTC正在Sense中这样做,但我认为他们直接编辑操作系统。
其次,即使有可能,你也应该不这样做。用户希望给定的UI元素在整个操作系统中保持一致。替换系统提供的界面的自定义UI元素总是会破坏平台体验。
答案 1 :(得分: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);
}
答案 2 :(得分:0)
您可以通过扩展内置Toast类来制作自定义Toast类。我还没有尝试过它必须简单而不切实际。 看看这个......:
http://developer.android.com/guide/topics/ui/notifiers/toasts.html
而且: