I have a MediaController and i want it's position in top right screen,i use method SetAnchorView() follows My layout
<RelativeLayout
android:id="@+id/content_media"
android:layout_width="fill_parent"
android:layout_height="fill_parent" >
<VideoView
android:id="@+id/audio_play"
android:layout_alignParentRight="true"
android:layout_alignParentTop="true"
android:layout_width="fill_parent"
android:layout_height="0dp"
android:layout_alignParentRight="true"
/>
</RelativeLayout>
and MyMediaController
VideoView video = (VideoView) findViewById(R.id.audio_play);
MediaController mc = new MediaController(this);
mc.setMediaPlayer(this);
mc.setAnchorView(video);
But my MediaController has displayed in top center screen.Plese help me.Thanks!
You can try by setting
mc.setPadding(0, 0, 0, 0); //0's are just placeholders here
but not 0 values - try setting the values in dp to what you want in the above method. If that doesnt work as intended try setting the anchorview in the onPreparedListener once the size of the video is known.
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.setAnchorView(video);
}
});
}
});
EDIT UPDATE: Turns out I solved a similar problem I had by extending the controller to make my own controller like this
import android.content.Context;
import android.view.View;
import android.widget.MediaController;
public class CustomController extends MediaController {
public CustomController(Context context, View anchor) {
super(context);
super.setAnchorView(anchor);
}
@Override
public void setAnchorView(View view) {
// Do nothing
}
}
Now just do this in your activity - this works for me
CustomController mc = new CustomController(this, mVideoView);
mc.setMediaPlayer(video);
mc.setAnchorView(video);
video.setMediaController(mc);
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With