widget_player_view.xml 7.24 KB
<?xml version="1.0" encoding="utf-8"?>
<FrameLayout xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:app="http://schemas.android.com/apk/res-auto"
    xmlns:tools="http://schemas.android.com/tools"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:background="@color/black"
    android:orientation="vertical">

    <VideoView
        android:id="@+id/vv_player_view_video"
        android:layout_width="match_parent"
        android:layout_height="match_parent"
        android:layout_gravity="center"
        android:keepScreenOn="true" />

    <FrameLayout
        android:layout_width="match_parent"
        android:layout_height="match_parent"
        android:fitsSystemWindows="true"
        android:orientation="vertical">

        <com.hjq.shape.layout.ShapeFrameLayout
            android:id="@+id/ll_player_view_top"
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:layout_gravity="top"
            android:orientation="horizontal"
            android:visibility="invisible"
            app:shape="rectangle"
            app:shape_angle="270"
            app:shape_centerColor="@color/black20"
            app:shape_endColor="@color/transparent"
            app:shape_startColor="#AA000000"
            tools:visibility="visible">

            <androidx.appcompat.widget.AppCompatImageView
                android:id="@+id/iv_player_view_left"
                android:layout_width="@dimen/dp_50"
                android:layout_height="@dimen/dp_50"
                android:layout_gravity="center_vertical"
                android:padding="@dimen/dp_10"
                android:visibility="invisible"
                app:srcCompat="@drawable/arrows_left_ic"
                app:tint="@color/white"
                tools:visibility="visible" />

            <androidx.appcompat.widget.AppCompatTextView
                android:id="@+id/tv_player_view_title"
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:layout_gravity="center"
                android:layout_marginHorizontal="@dimen/dp_50"
                android:ellipsize="marquee"
                android:gravity="center_horizontal"
                android:singleLine="true"
                android:textColor="@color/white"
                android:textSize="@dimen/sp_17"
                tools:text="我是视频标题" />

        </com.hjq.shape.layout.ShapeFrameLayout>

        <com.hjq.widget.view.PlayButton
            android:id="@+id/iv_player_view_control"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_gravity="center"
            android:visibility="invisible"
            tools:visibility="visible" />

        <com.hjq.shape.view.ShapeImageView
            android:id="@+id/iv_player_view_lock"
            android:layout_width="@dimen/dp_45"
            android:layout_height="@dimen/dp_45"
            android:layout_gravity="start|center_vertical"
            android:layout_marginStart="@dimen/dp_5"
            android:padding="@dimen/dp_10"
            android:visibility="invisible"
            app:shape="oval"
            app:shape_solidColor="@color/black30"
            app:shape_solidPressedColor="@color/black60"
            app:srcCompat="@drawable/video_lock_open_ic"
            tools:visibility="visible" />

        <com.hjq.shape.layout.ShapeLinearLayout
            android:id="@+id/ll_player_view_bottom"
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:layout_gravity="bottom"
            android:gravity="center_vertical"
            android:orientation="horizontal"
            android:paddingHorizontal="@dimen/dp_15"
            android:visibility="invisible"
            app:shape="rectangle"
            app:shape_angle="90"
            app:shape_centerColor="@color/black20"
            app:shape_endColor="@color/transparent"
            app:shape_startColor="#AA000000"
            tools:visibility="visible">

            <androidx.appcompat.widget.AppCompatTextView
                android:id="@+id/tv_player_view_play_time"
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:textColor="@color/white"
                android:textSize="@dimen/sp_14"
                tools:text="00:00" />

            <androidx.appcompat.widget.AppCompatSeekBar
                android:id="@+id/sb_player_view_progress"
                android:layout_width="0px"
                android:layout_height="wrap_content"
                android:layout_weight="1"
                android:foreground="@null"
                android:maxHeight="@dimen/dp_2"
                android:paddingVertical="@dimen/dp_10"
                android:progressDrawable="@drawable/video_progress_bg"
                android:thumb="@drawable/video_progress_ball_bg"
                tools:max="100"
                tools:progress="50"
                tools:secondaryProgress="80"
                tools:targetApi="m" />

            <androidx.appcompat.widget.AppCompatTextView
                android:id="@+id/tv_player_view_total_time"
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:textColor="@color/white"
                android:textSize="@dimen/sp_14"
                tools:text="10:00" />

        </com.hjq.shape.layout.ShapeLinearLayout>

    </FrameLayout>

    <androidx.cardview.widget.CardView
        android:id="@+id/cv_player_view_message"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_gravity="center"
        android:gravity="center"
        android:orientation="vertical"
        android:visibility="gone"
        app:cardBackgroundColor="@color/black85"
        app:cardCornerRadius="@dimen/dp_15"
        app:cardElevation="0px"
        tools:visibility="visible">

        <LinearLayout
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:gravity="center"
            android:minWidth="@dimen/dp_110"
            android:minHeight="@dimen/dp_110"
            android:orientation="vertical"
            android:padding="@dimen/dp_10">

            <com.airbnb.lottie.LottieAnimationView
                android:id="@+id/lav_player_view_lottie"
                android:layout_width="@dimen/dp_70"
                android:layout_height="@dimen/dp_70"
                app:lottie_autoPlay="false"
                app:lottie_loop="true"
                app:lottie_rawRes="@raw/progress" />

            <com.hjq.widget.view.SmartTextView
                android:id="@+id/tv_player_view_message"
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:layout_marginHorizontal="@dimen/dp_15"
                android:layout_marginTop="@dimen/dp_5"
                android:maxLines="3"
                android:textColor="@color/white"
                android:textSize="@dimen/sp_14"
                tools:text="@string/common_loading" />
        </LinearLayout>

    </androidx.cardview.widget.CardView>

</FrameLayout>