最近项目中视频播放需要实现全屏,小窗、全屏切换功能,下面整理一下Vitamio全屏播放实现的过程,如下图,以CCTV1播放为例说明。
全屏播放依靠动态改变布局宽高实现,小窗播放时布局:
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical">
<LinearLayout
android:id="@+id/top_part_live_activity"
android:layout_width="match_parent"
android:layout_height="0dp"
android:layout_weight="1"
android:background="@color/darker_gray"
android:orientation="vertical"></LinearLayout>
<FrameLayout
android:id="@+id/fl_video_view_live_activity"
android:layout_width="match_parent"
android:layout_height="203dp"
android:layout_gravity="center">
<io.vov.vitamio.widget.VideoView
android:id="@+id/video_view_live_activity"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:layout_centerHorizontal="true"
android:layout_centerVertical="true" />
<ImageView
android:id="@+id/exit_btn_video_live_activity"
android:layout_width="20dp"
android:layout_height="20dp"
android:layout_marginLeft="10dp"
android:layout_marginTop="10dp"
android:background="@drawable/live_activity_exit"
android:visibility="gone" />
<ImageView
android:id="@+id/loading_btn_live_activity"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="center"
android:background="@drawable/loading_spinner" />
<ImageView
android:id="@+id/full_screen_live_activity"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="right|bottom"
android:layout_marginBo