我有两个碎片。它们都有一些音频文件列表。当和音频播放时,会弹出一个seekBar,当媒体播放完毕后,sekkBar会向下滑动并隐藏。
如果用户想要在播放媒体时隐藏搜索栏,我已决定更好的视图,show_and_hide seekBar与两个片段中的硬件MENU_KEY分开。
我这样做但是没有用:
view = inflater.inflate(R.layout.light_fragment_main, container, false);
view.setOnKeyListener(new View.OnKeyListener(){
public boolean onKey(View v, int keyCode, KeyEvent event) {
if (keyCode == KeyEvent.KEYCODE_MENU) {
boolean check = true;
if (mediaPlayer.isPlaying()){
if (check){
toast("slide DOWN");
check = false;
}
else {
toast("slide UP");
check = true;
}
}
return true;
}
return false;
}
});
我做错了吗?
答案 0 :(得分:0)
我正在使用带有标签片段的视图寻呼机,因此我在片段的MainActivity中实现了onKeyDown方法,并从那里控制了我的seekBar的可见性。我就是这样做的:
@Override
public boolean onKeyDown(int keyCode, KeyEvent e) {
if (keyCode == KeyEvent.KEYCODE_MENU) {
if (ZZZLightFavorites.isPlaying) {
ZZZLightFavorites z = (ZZZLightFavorites) ZZZLightFavorites.favFragment;
z.getFragmentManager().findFragmentByTag(ZZZLightFavorites.ARG_ITEM_ID);
if (z != null) {
if (ZZZLightFavorites.seekBarVisibility) {
z.slideDownSeekbar();
}else {
z.slideUpseekBar();
}
}
}
else if(ZZZLight.isPlaying) {
ZZZLight z = (ZZZLight) ZZZLight.mainFragment;
z.getFragmentManager().findFragmentByTag(ZZZLight.ARG_ITEM_ID);
if (z != null) {
if (ZZZLight.seekBarVisibility) {
z.slideDownSeekbar();
}else {
z.slideUpseekBar();
}
}
}
return true;
}
return super.onKeyDown(keyCode, e);
}