2011-12-15 89 views
4

我尝试使用MediaController播放音乐。 我希望MediaController出现,直到按下“后退”按钮。 现在我尝试下面的代码:使MediaController显示不隐藏

MediaController mediaController = new MediaController(this){ 
@Override 
public void setMediaPlayer(MediaPlayerControl player) { 
super.setMediaPlayer(player); 
this.show(); 
} 
@Override 
public void show(int timeout) { 
super.show(0); 
} 
//instead of press twice with press once "back" button to back 
@Override 
public boolean dispatchKeyEvent(KeyEvent event) { 
if(event.getKeyCode() == KeyEvent.KEYCODE_BACK) { 
Activity a = (Activity)getContext(); 
a.finish(); 
} 
return true; 
} 
}; 

但它仍然一个麻烦而的MediaController可见。 当MediaController出现触摸屏幕时,MediaController将隐藏。 我也已经尝试下面的代码:

@Override 
public boolean onTouchEvent(MotionEvent event) { 
Log.d("screen","touch"); 
return true; 
} 

但没有奏效。 该字符串未在Logcat中显示。 任何人有想法做到这一点?

回答

12

重写此方法也在里面媒体控制器

@Override 
      public void hide() { 
       // TODO Auto-generated method stub 
       super.show(); 
      } 
+0

的代码对我有用。 – brian 2011-12-15 06:38:35

+2

@chet使用此代码媒体contollers不隐藏,但在后面的新闻活动没有完成任何想法 – 2016-04-18 04:41:32

5

如果你想保持隐藏()方法,但没有控制器消失每次使用控制时间:

this.mediaController = new MediaController(this){ 
    @Override 
    public void show(int timeout) { 
     super.show(0); 
    } 
};