2011-05-23 9 views
16

私は自分のアプリケーションにmediaControllerを使用しています。MediaControllerの位置を変更するには?

デフォルトでは、Media Controllerは画面の下部に表示されます。

画面の中央にMedia Controllerを表示する方法はありますか?最後に

+0

を(http://stackoverflow.com/a/9563643/544419) – Rongan

答えて

17

はのMediaControllerの配置に基づいて特定の位置に配置する位置を直すことができ、このスニペットを使用して...

mediaController.setAnchorView(findViewById(R.id.main_audio_view)); 

をそれを得ましたビデオサイズがわかっている場合にのみ動作します。したがって、あなたがする必要があります:

video.setOnPreparedListener(new OnPreparedListener() { 
    @Override 
    public void onPrepared(MediaPlayer mp) { 
      mp.setOnVideoSizeChangedListener(new OnVideoSizeChangedListener() { 
            @Override 
            public void onVideoSizeChanged(MediaPlayer mp, int width, int height) { 
              /* 
              * add media controller 
              */ 
              mc = new MediaController(YourActivity.this);; 
              video.setMediaController(mc); 
              /* 
              * and set its position on screen 
              */ 
              mc.setAnchorView(video); 
            } 
            }); 
          } 
      }); 
+0

これは実際には答えです! XMLレイアウトでMediaPlayerを追加する必要はありません。 VideoViewの準備中にsetAnchorViewだけを準備してください。誰かが自分のメディアコントローラを実装したい場合は、http://stackoverflow.com/questions/3686729/mediacontroller-positioning-over-videoviewをチェックしてください。 – Robert

0

私たちはのMediaControllerは、レイアウトIDまたはビューのID

+4

[たぶんこれが答えです]しかし、たとえこのように、のMediaControllerはまだの下部に表示されます画面 –

+8

これは動作しません – Ronnie

+2

これはまた、あなたのXMLで使用しているレイアウトのようないくつかの他の要因に依存していると思う – Ronnie

関連する問題