2011-12-15 82 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); 
    } 
};