//自己添加的构造 public MediaController(Context context, boolean fromXml, View container) { super(context); initController(context); mFromXml = fromXml; mRoot = makeControllerView(); //这个地方的FrameLayout.LayoutpParams是因为布局文件中要把MediaController的视图作为childView加到一个FrameLayout中去 FrameLayout.LayoutParams p = new FrameLayout.LayoutParams(LayoutParams.FILL_PARENT, LayoutParams.WRAP_CONTENT);//想怎样布局MediaController就尽情的发挥这个LayoutParams吧 p.gravity = Gravity.BOTTOM; mRoot.setLayoutParams(p); ((FrameLayout) container).addView(mRoot);}
布局文件
<FrameLayout android:background="@color/bgcolor" android:id="@+id/frame" android:layout_width="fill_parent" android:layout_height="191dp"> <io.vov.vitamio.widget.CenterLayout android:layout_width="fill_parent" android:layout_height="fill_parent" android:orientation="vertical" ></io.vov.vitamio.widget.CenterLayout> <io.vov.vitamio.widget.VideoView android:id="@+id/vv" android:layout_centerHorizontal="true" android:layout_centerVertical="true" android:layout_width="fill_parent" android:layout_height="fill_parent" /> </FrameLayout>代码
MediaController mc = new MediaController(this, true, frame); mc.setOnControllerClick(new MediaController.OnControllerClick() { @Override public void OnClick(int type) { //type 0 全屏。type1 分享 if (type == 0) { if (isPortrait) { LinearLayout.LayoutParams fl_lp = new LinearLayout.LayoutParams( LinearLayout.LayoutParams.MATCH_PARENT, LinearLayout.LayoutParams.MATCH_PARENT ); frame.setLayoutParams(fl_lp); setRequestedOrientation(ActivityInfo.SCREEN_ORIENTATION_LANDSCAPE); //设置全屏 mVideoView.setVideoLayout(VideoView.VIDEO_LAYOUT_SCALE, 0); //mVideoView.setmSurfaceHeight(getHeightPixel(VideoActivity.this)); Log.e("ccc", "" + mVideoView.getHeight() + " " + mVideoView.getWidth()); Log.e("ccc", "" + frame.getHeight()); isPortrait = false; } else { LinearLayout.LayoutParams fl_lp = new LinearLayout.LayoutParams( LinearLayout.LayoutParams.MATCH_PARENT, DensityUtil.dip2px(191, VideoActivity.this) ); frame.setLayoutParams(fl_lp); setRequestedOrientation(ActivityInfo.SCREEN_ORIENTATION_PORTRAIT); isPortrait = true; } } } });
vitamio的横竖屏 以及控制器的位置
最新推荐文章于 2021-06-04 16:04:41 发布