Android mediacontroller隐藏时,Videoview如何全屏显示?
这是我的活动,它正在发挥作用Android mediacontroller隐藏时,Videoview如何全屏显示?,android,android-videoview,mediacontroller,Android,Android Videoview,Mediacontroller,这是我的活动,它正在发挥作用 protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_playing); setRequestedOrientation(ActivityInfo.SCREEN_ORIENTATION_LANDSCAPE); getWindow().setFlag
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_playing);
setRequestedOrientation(ActivityInfo.SCREEN_ORIENTATION_LANDSCAPE);
getWindow().setFlags(WindowManager.LayoutParams.FLAG_FULLSCREEN, WindowManager.LayoutParams.FLAG_FULLSCREEN);
Intent intent = getIntent();
String link = intent.getStringExtra("link");
VideoView videoview = (VideoView) findViewById(R.id.videoView2);
MediaController mediacontroller = new MediaController(this);
mediacontroller.setAnchorView(videoview);
Log.i("Link",link);
Uri video = Uri.parse(link);
videoview.setMediaController(mediacontroller);
videoview.requestFocus();
videoview.setVideoURI(video);
videoview.start();
}
这是播放时的屏幕:
但当控制器隐藏时,视频屏幕不是全屏。
当mediacontroller隐藏时,Videoview如何全屏显示?我认为您可以在下面创建myMediaController来触发mediacontroller的隐藏并刷新Videoview
class myMediaController extends MediaController{
private View anchorView = null; //this ref to videoview from setAnchorView(View view)
public myMediaController(Context context, boolean useFastForward) {
super(context, useFastForward);
}
@Override
public void setAnchorView(View view) {
super.setAnchorView(view);
anchorView = view;
}
@Override
public void hide() {
super.hide();
anchorView.invalidate(); //refresh with and height of video view on screen
anchorView.refreshDrawableState();
}
}