LibreTube/app/src/main/res/layout/fragment_player.xml

486 lines
20 KiB
XML
Raw Normal View History

<?xml version="1.0" encoding="utf-8"?>
2022-09-20 23:23:34 +05:30
<com.github.libretube.ui.views.SingleViewTouchableMotionLayout 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:id="@+id/playerMotionLayout"
android:layout_width="match_parent"
android:layout_height="match_parent"
app:layoutDescription="@xml/player_scene">
<ScrollView
android:id="@+id/player_scrollView"
android:layout_width="match_parent"
android:layout_height="0dp"
2022-05-21 13:52:00 +05:30
android:background="?android:attr/colorBackground"
app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintHorizontal_bias="0.5"
app:layout_constraintStart_toStartOf="parent"
2022-05-07 21:52:45 +05:30
app:layout_constraintTop_toBottomOf="@+id/main_container">
<LinearLayout
2021-12-15 15:54:12 +05:30
android:id="@+id/linLayout"
android:layout_width="match_parent"
android:layout_height="wrap_content"
2022-06-28 20:59:31 +05:30
android:animateLayoutChanges="true"
android:orientation="vertical">
2021-12-14 21:45:53 +05:30
2022-11-05 16:58:57 +05:30
<LinearLayout
2022-06-13 19:45:02 +05:30
android:id="@+id/player_title_layout"
android:layout_width="match_parent"
2022-05-07 21:52:45 +05:30
android:layout_height="wrap_content"
2022-11-05 16:58:57 +05:30
android:layout_marginVertical="8dp"
2022-05-07 21:52:45 +05:30
android:orientation="horizontal">
2022-05-07 21:52:45 +05:30
<TextView
android:id="@+id/player_title"
2022-11-05 16:58:57 +05:30
android:layout_width="0dp"
android:layout_height="wrap_content"
2022-11-05 16:58:57 +05:30
android:layout_gravity="center"
2022-05-07 21:52:45 +05:30
android:layout_marginStart="10dp"
2022-11-05 16:58:57 +05:30
android:layout_marginEnd="5dp"
android:layout_weight="1"
android:maxLines="2"
2022-07-28 19:41:35 +05:30
android:textSize="18sp"
tools:text="Video Title" />
2022-05-07 21:52:45 +05:30
<ImageView
android:id="@+id/player_description_arrow"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
2022-11-05 16:58:57 +05:30
android:layout_gravity="center"
android:layout_marginHorizontal="10dp"
2022-05-07 21:52:45 +05:30
android:src="@drawable/ic_arrow_down" />
2022-11-05 16:58:57 +05:30
</LinearLayout>
2022-05-07 21:52:45 +05:30
2022-06-28 20:23:18 +05:30
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginHorizontal="10dp"
android:orientation="horizontal">
<TextView
android:id="@+id/player_views_info"
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_weight="1"
2022-07-28 19:41:35 +05:30
tools:text="10M views 2 days ago " />
2022-06-28 20:23:18 +05:30
2022-06-28 01:05:06 +05:30
<LinearLayout
2022-06-28 20:23:18 +05:30
android:layout_width="wrap_content"
2022-06-13 19:45:02 +05:30
android:layout_height="wrap_content"
2022-07-10 16:31:24 +05:30
android:layout_marginStart="3dp"
2022-06-28 20:23:18 +05:30
android:layout_marginTop="2dp">
<ImageView
android:layout_width="12dp"
android:layout_height="12dp"
android:layout_gravity="center"
android:src="@drawable/ic_like" />
2022-06-28 01:05:06 +05:30
<TextView
2022-06-28 20:23:18 +05:30
android:id="@+id/textLike"
android:layout_width="wrap_content"
2022-06-28 01:05:06 +05:30
android:layout_height="wrap_content"
2022-06-28 20:23:18 +05:30
android:layout_marginHorizontal="5dp"
2022-07-28 19:41:35 +05:30
tools:text="4.2K" />
2022-06-28 01:05:06 +05:30
2022-06-28 20:23:18 +05:30
<ImageView
android:layout_width="12dp"
android:layout_height="12dp"
android:layout_gravity="center"
2022-07-10 16:31:24 +05:30
android:layout_marginStart="5dp"
2022-06-28 20:23:18 +05:30
android:rotation="180"
android:src="@drawable/ic_like" />
<TextView
android:id="@+id/textDislike"
2022-06-28 01:05:06 +05:30
android:layout_width="wrap_content"
android:layout_height="wrap_content"
2022-06-28 20:23:18 +05:30
android:layout_marginHorizontal="5dp"
2022-07-28 19:41:35 +05:30
tools:text="1.3K" />
2022-06-28 01:05:06 +05:30
</LinearLayout>
2022-06-13 19:45:02 +05:30
2022-06-28 20:23:18 +05:30
</LinearLayout>
<LinearLayout
android:id="@+id/desc_linLayout"
2022-05-07 21:52:45 +05:30
android:layout_width="match_parent"
android:layout_height="wrap_content"
2022-06-28 20:23:18 +05:30
android:orientation="vertical"
android:visibility="gone">
<androidx.recyclerview.widget.RecyclerView
android:id="@+id/chapters_recView"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginHorizontal="3dp"
android:layout_marginTop="20dp"
android:nestedScrollingEnabled="false"
android:visibility="gone" />
<TextView
android:id="@+id/player_description"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:autoLink="web"
android:padding="8dp"
android:textIsSelectable="true"
android:textSize="14sp" />
2022-06-28 20:23:18 +05:30
</LinearLayout>
2022-05-07 21:52:45 +05:30
<com.google.android.material.card.MaterialCardView
style="@style/Widget.Material3.CardView.Elevated"
android:layout_width="match_parent"
android:layout_height="80dp"
android:layout_margin="17dp"
app:cardCornerRadius="27dp">
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
2022-05-07 21:52:45 +05:30
android:layout_gravity="center"
android:layout_marginLeft="10dp"
android:layout_marginRight="10dp"
android:gravity="center"
android:orientation="horizontal"
android:weightSum="5">
2022-05-07 21:52:45 +05:30
<LinearLayout
android:id="@+id/relPlayer_share"
style="@style/PlayerActionsLayout"
android:layout_weight="1">
2022-03-15 21:36:42 +05:30
2022-05-07 21:52:45 +05:30
<ImageView
android:layout_width="24dp"
android:layout_height="25dp"
android:src="@drawable/ic_share" />
2022-05-07 21:52:45 +05:30
<TextView
style="@style/PlayerActionsText"
2022-05-07 21:52:45 +05:30
android:layout_width="wrap_content"
android:layout_height="wrap_content"
2022-11-01 21:22:48 +05:30
android:text="@string/share" />
2022-05-07 21:52:45 +05:30
</LinearLayout>
<LinearLayout
android:id="@+id/relPlayer_download"
style="@style/PlayerActionsLayout"
android:layout_weight="1">
2022-05-07 21:52:45 +05:30
<ImageView
android:layout_width="24dp"
android:layout_height="25dp"
2022-05-07 22:13:04 +05:30
android:src="@drawable/ic_download" />
2022-05-07 21:52:45 +05:30
<TextView
style="@style/PlayerActionsText"
2022-05-07 21:52:45 +05:30
android:layout_width="wrap_content"
android:layout_height="wrap_content"
2022-11-01 21:22:48 +05:30
android:text="@string/download" />
2022-05-07 21:52:45 +05:30
</LinearLayout>
2021-12-14 21:45:53 +05:30
2022-05-07 21:52:45 +05:30
<LinearLayout
2022-07-15 13:46:31 +05:30
android:id="@+id/relPlayer_open"
style="@style/PlayerActionsLayout"
android:layout_weight="1">
2022-05-07 21:52:45 +05:30
<ImageView
android:layout_width="24dp"
android:layout_height="25dp"
android:padding="2dp"
2022-07-17 14:40:46 +05:30
android:src="@drawable/ic_open" />
2022-05-07 21:52:45 +05:30
<TextView
style="@style/PlayerActionsText"
2022-05-07 21:52:45 +05:30
android:layout_width="wrap_content"
android:layout_height="wrap_content"
2022-11-01 21:22:48 +05:30
android:text="@string/open" />
2022-05-07 21:52:45 +05:30
</LinearLayout>
<LinearLayout
2022-07-10 21:34:58 +05:30
android:id="@+id/relPlayer_background"
style="@style/PlayerActionsLayout"
android:layout_weight="1">
2022-07-10 21:34:58 +05:30
<ImageView
android:layout_width="24dp"
android:layout_height="25dp"
android:src="@drawable/ic_headphones" />
<TextView
style="@style/PlayerActionsText"
2022-07-10 21:34:58 +05:30
android:layout_width="wrap_content"
android:layout_height="wrap_content"
2022-11-01 21:22:48 +05:30
android:text="@string/audio" />
2022-07-10 21:34:58 +05:30
</LinearLayout>
<LinearLayout
android:id="@+id/relPlayer_save"
style="@style/PlayerActionsLayout"
android:layout_weight="1">
2022-05-07 21:52:45 +05:30
<ImageView
android:layout_width="24dp"
android:layout_height="25dp"
android:src="@drawable/ic_save" />
<TextView
style="@style/PlayerActionsText"
2022-05-07 21:52:45 +05:30
android:layout_width="wrap_content"
android:layout_height="wrap_content"
2022-11-01 21:22:48 +05:30
android:text="@string/save" />
2022-05-07 21:52:45 +05:30
</LinearLayout>
</LinearLayout>
</com.google.android.material.card.MaterialCardView>
<LinearLayout
2022-02-05 00:25:05 +05:30
android:id="@+id/player_channel"
android:layout_width="match_parent"
android:layout_height="wrap_content"
2022-11-05 16:58:57 +05:30
android:layout_marginHorizontal="8dp"
android:layout_marginVertical="15dp"
2022-10-19 23:34:09 +05:30
android:background="@drawable/rounded_ripple"
android:orientation="horizontal"
2022-05-07 21:52:45 +05:30
android:paddingLeft="8dp"
android:paddingRight="8dp">
<de.hdodenhof.circleimageview.CircleImageView
android:id="@+id/player_channelImage"
android:layout_width="40dp"
android:layout_height="40dp"
android:layout_gravity="center"
2022-02-04 01:47:08 +05:30
android:layout_marginEnd="4dp" />
<LinearLayout
2022-03-16 19:00:47 +05:30
android:layout_width="0dp"
android:layout_height="wrap_content"
2022-10-19 23:23:18 +05:30
android:layout_gravity="center"
2022-11-05 16:58:57 +05:30
android:layout_marginHorizontal="5dp"
2022-10-19 23:23:18 +05:30
android:layout_weight="1"
2022-11-05 16:58:57 +05:30
android:layoutDirection="locale"
android:orientation="vertical">
<TextView
android:id="@+id/player_channelName"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_gravity="center"
android:ellipsize="end"
android:maxLines="1"
android:textSize="15sp" />
<TextView
android:id="@+id/player_channelSubCount"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_gravity="center"
android:ellipsize="end"
android:maxLines="1"
android:textSize="11sp"
2022-11-05 16:58:57 +05:30
tools:text="2.5M subscribers" />
</LinearLayout>
2022-02-13 22:43:26 +05:30
<com.google.android.material.button.MaterialButton
android:id="@+id/player_subscribe"
2022-05-22 04:11:53 +05:30
style="@style/Widget.Material3.Button.ElevatedButton"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="center"
2022-02-05 00:25:05 +05:30
android:text="@string/subscribe"
android:textColor="?android:attr/textColorPrimary"
2022-07-11 19:55:47 +05:30
android:textSize="12sp"
2022-05-07 21:52:45 +05:30
app:cornerRadius="11dp" />
</LinearLayout>
<androidx.recyclerview.widget.RecyclerView
android:id="@+id/alternativeTrendingRec"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
2022-11-12 23:34:40 +05:30
android:layout_marginHorizontal="12dp" />
2022-10-23 15:03:35 +05:30
<com.google.android.material.card.MaterialCardView
android:id="@+id/comments_toggle"
style="@style/Widget.Material3.CardView.Elevated"
android:layout_width="match_parent"
android:layout_height="wrap_content"
2022-10-23 19:28:06 +05:30
android:layout_margin="16dp"
2022-10-23 15:03:35 +05:30
app:cardCornerRadius="18dp">
2022-10-23 15:03:35 +05:30
<LinearLayout
2022-05-08 16:29:44 +05:30
android:layout_width="match_parent"
2022-10-23 15:03:35 +05:30
android:layout_height="match_parent"
android:layout_margin="8dp"
android:orientation="horizontal">
2022-05-08 16:29:44 +05:30
2022-10-23 15:03:35 +05:30
<TextView
android:id="@+id/commentsToggle_textView"
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_marginStart="8dp"
android:layout_weight="1"
android:text="@string/comments"
android:textSize="17sp" />
2022-05-18 15:21:34 +05:30
2022-10-23 15:03:35 +05:30
<ImageView
android:id="@+id/commentsToggle_imageView"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="center"
android:layout_marginEnd="3dp"
android:src="@drawable/ic_arrow_up_down" />
2022-05-18 15:21:34 +05:30
2022-10-23 15:03:35 +05:30
</LinearLayout>
2022-05-18 15:21:34 +05:30
2022-10-23 15:03:35 +05:30
</com.google.android.material.card.MaterialCardView>
2022-05-08 16:29:44 +05:30
2022-10-23 15:03:35 +05:30
<RelativeLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:animateLayoutChanges="true"
android:descendantFocusability="blocksDescendants">
2022-05-07 21:52:45 +05:30
<androidx.recyclerview.widget.RecyclerView
2022-05-08 16:03:01 +05:30
android:id="@+id/comments_recView"
android:layout_width="match_parent"
android:layout_height="wrap_content"
2022-07-04 21:52:21 +05:30
android:layout_marginTop="10dp"
android:layout_marginBottom="10dp"
2022-05-08 21:55:22 +05:30
android:nestedScrollingEnabled="false"
2022-05-08 16:29:44 +05:30
android:visibility="gone" />
2022-05-08 16:03:01 +05:30
<androidx.recyclerview.widget.RecyclerView
2022-07-01 00:55:40 +05:30
android:id="@+id/related_rec_view"
2022-05-08 16:03:01 +05:30
android:layout_width="match_parent"
android:layout_height="wrap_content"
2022-07-04 21:52:21 +05:30
android:layout_marginStart="10dp"
2022-05-08 16:03:01 +05:30
android:layout_marginTop="10dp"
2022-07-04 21:52:21 +05:30
android:layout_marginEnd="10dp"
2022-05-08 16:03:01 +05:30
android:layout_marginBottom="10dp"
android:nestedScrollingEnabled="false" />
</RelativeLayout>
2022-05-07 21:52:45 +05:30
</LinearLayout>
2022-05-07 21:52:45 +05:30
</ScrollView>
<androidx.constraintlayout.widget.ConstraintLayout
android:id="@+id/main_container"
android:layout_width="match_parent"
2022-02-04 01:42:58 +05:30
android:layout_height="0dp"
2022-05-07 21:52:45 +05:30
android:background="?attr/colorSurface"
2022-08-25 15:07:58 +05:30
app:layout_constraintDimensionRatio="16:9"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintStart_toStartOf="parent"
2022-05-07 21:52:45 +05:30
app:layout_constraintTop_toTopOf="parent" />
2022-09-20 23:23:34 +05:30
<com.github.libretube.ui.views.CustomExoPlayerView
android:id="@+id/player"
android:layout_width="match_parent"
2022-07-03 16:58:24 +05:30
android:layout_height="match_parent"
2022-07-10 13:47:03 +05:30
android:background="@android:color/black"
app:layout_constraintBottom_toBottomOf="@id/main_container"
app:layout_constraintStart_toStartOf="@id/main_container"
app:layout_constraintTop_toTopOf="@id/main_container"
2022-07-27 15:27:04 +05:30
app:show_buffering="when_playing">
2022-07-08 21:19:32 +05:30
2022-09-20 23:23:34 +05:30
<com.github.libretube.ui.views.DoubleTapOverlay
2022-07-19 17:38:12 +05:30
android:id="@+id/doubleTapOverlay"
2022-07-09 21:58:10 +05:30
android:layout_width="match_parent"
2022-08-01 12:47:36 +05:30
android:layout_height="wrap_content"
2022-07-29 11:27:16 +05:30
android:layout_gravity="center"
2022-08-01 12:47:36 +05:30
android:gravity="center" />
2022-07-08 21:19:32 +05:30
<com.github.libretube.ui.views.PlayerGestureControlsView
android:id="@+id/playerGestureControlsView"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:layout_gravity="center"
android:gravity="center" />
2022-09-17 22:39:11 +05:30
<com.google.android.material.card.MaterialCardView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="bottom|end"
2022-09-17 22:39:11 +05:30
android:layout_marginEnd="-10dp"
android:layout_marginBottom="60dp"
2022-09-17 22:39:11 +05:30
android:paddingEnd="10dp"
app:cardBackgroundColor="#88000000"
2022-09-18 22:47:38 +05:30
app:strokeWidth="1dp"
2022-09-17 22:39:11 +05:30
tools:ignore="RtlSymmetry">
2022-09-17 22:39:11 +05:30
<LinearLayout
android:id="@+id/sb_skip_btn"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
2022-09-17 22:39:11 +05:30
android:padding="10dp"
android:visibility="gone">
2022-09-17 22:39:11 +05:30
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="@string/skip_segment"
android:textColor="@android:color/white"
android:textSize="18sp" />
<ImageView
android:layout_width="20dp"
android:layout_height="20dp"
android:layout_gravity="center"
android:layout_marginHorizontal="10dp"
android:src="@drawable/ic_next"
app:tint="@android:color/white" />
</LinearLayout>
</com.google.android.material.card.MaterialCardView>
2022-09-20 23:23:34 +05:30
</com.github.libretube.ui.views.CustomExoPlayerView>
2022-07-19 17:38:12 +05:30
<ImageView
android:id="@+id/close_imageView"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginEnd="16dp"
android:alpha="0"
android:src="@drawable/ic_close"
2021-12-14 02:58:17 +05:30
android:visibility="gone"
app:layout_constraintBottom_toBottomOf="@id/main_container"
app:layout_constraintEnd_toEndOf="@id/main_container"
app:layout_constraintTop_toTopOf="@id/main_container" />
<ImageView
android:id="@+id/play_imageView"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginEnd="24dp"
android:alpha="0"
android:src="@drawable/ic_play"
android:visibility="gone"
app:layout_constraintBottom_toBottomOf="@+id/close_imageView"
app:layout_constraintEnd_toStartOf="@+id/close_imageView"
app:layout_constraintTop_toTopOf="@+id/close_imageView" />
<TextView
android:id="@+id/title_textView"
android:layout_width="0dp"
android:layout_height="wrap_content"
android:alpha="0"
android:ellipsize="end"
android:maxLines="1"
2022-08-01 12:47:36 +05:30
android:paddingVertical="15dp"
android:paddingStart="8dp"
android:paddingEnd="12dp"
android:visibility="gone"
app:layout_constraintBottom_toBottomOf="@+id/play_imageView"
app:layout_constraintEnd_toStartOf="@+id/play_imageView"
app:layout_constraintStart_toEndOf="@+id/player"
app:layout_constraintTop_toTopOf="@+id/play_imageView" />
2022-09-20 23:23:34 +05:30
</com.github.libretube.ui.views.SingleViewTouchableMotionLayout>