3ecbbea7cb
- on Android TV you'll be able to navigate with D-pad in main fragment and in the player. But not between them for now - play/pause/next/previous buttons are smaller now - replaced ic_list with previous version of it - activity_main looks better which helps with Android TV support
299 lines
No EOL
12 KiB
XML
299 lines
No EOL
12 KiB
XML
<?xml version="1.0" encoding="utf-8"?>
|
|
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
|
|
xmlns:tools="http://schemas.android.com/tools"
|
|
xmlns:app="http://schemas.android.com/apk/res-auto"
|
|
android:id="@+id/main_content"
|
|
android:layout_width="match_parent"
|
|
android:layout_height="match_parent"
|
|
android:fitsSystemWindows="true"
|
|
tools:context="org.schabi.newpipe.player.BackgroundPlayerActivity">
|
|
|
|
<com.google.android.material.appbar.AppBarLayout
|
|
android:id="@+id/appbar"
|
|
android:layout_width="match_parent"
|
|
android:layout_height="wrap_content"
|
|
android:theme="@style/ThemeOverlay.AppCompat.ActionBar"
|
|
app:popupTheme="@style/ThemeOverlay.AppCompat.ActionBar">
|
|
|
|
<androidx.appcompat.widget.Toolbar
|
|
android:id="@+id/toolbar"
|
|
android:layout_width="match_parent"
|
|
android:layout_height="?attr/actionBarSize"
|
|
android:layout_weight="1"
|
|
android:background="?attr/colorPrimary"
|
|
app:layout_scrollFlags="scroll|enterAlways"
|
|
app:title="@string/app_name"/>
|
|
|
|
</com.google.android.material.appbar.AppBarLayout>
|
|
|
|
<androidx.recyclerview.widget.RecyclerView
|
|
android:id="@+id/play_queue"
|
|
android:layout_width="match_parent"
|
|
android:layout_height="match_parent"
|
|
android:layout_below="@id/appbar"
|
|
android:layout_above="@id/center"
|
|
android:scrollbars="vertical"
|
|
app:layoutManager="LinearLayoutManager"
|
|
tools:listitem="@layout/play_queue_item"/>
|
|
|
|
<RelativeLayout
|
|
android:layout_width="match_parent"
|
|
android:layout_height="wrap_content"
|
|
android:id="@+id/center"
|
|
android:layout_above="@+id/playback_controls">
|
|
|
|
<LinearLayout
|
|
android:id="@+id/metadata"
|
|
android:layout_width="match_parent"
|
|
android:layout_height="wrap_content"
|
|
android:orientation="vertical"
|
|
android:padding="8dp"
|
|
android:clickable="true"
|
|
android:focusable="true"
|
|
android:background="?attr/selectableItemBackground"
|
|
tools:ignore="RtlHardcoded,RtlSymmetry">
|
|
|
|
<TextView
|
|
android:id="@+id/song_name"
|
|
android:layout_width="match_parent"
|
|
android:layout_height="wrap_content"
|
|
android:ellipsize="marquee"
|
|
android:fadingEdge="horizontal"
|
|
android:marqueeRepeatLimit="marquee_forever"
|
|
android:scrollHorizontally="true"
|
|
android:singleLine="true"
|
|
android:textAppearance="?android:attr/textAppearanceLarge"
|
|
android:textSize="14sp"
|
|
tools:text="Lorem ipsum dolor sit amet, consectetur adipiscing elit. Duis nec aliquam augue, eget cursus est. Ut id tristique enim, ut scelerisque tellus. Sed ultricies ipsum non mauris ultricies, commodo malesuada velit porta."
|
|
/>
|
|
|
|
<TextView
|
|
android:id="@+id/artist_name"
|
|
android:layout_width="match_parent"
|
|
android:layout_height="wrap_content"
|
|
android:ellipsize="marquee"
|
|
android:fadingEdge="horizontal"
|
|
android:marqueeRepeatLimit="marquee_forever"
|
|
android:scrollHorizontally="true"
|
|
android:singleLine="true"
|
|
android:textAppearance="?android:attr/textAppearanceMedium"
|
|
android:textSize="12sp"
|
|
tools:text="Duis posuere arcu condimentum lobortis mattis."/>
|
|
</LinearLayout>
|
|
|
|
<TextView
|
|
android:id="@+id/seek_display"
|
|
android:layout_width="wrap_content"
|
|
android:layout_height="wrap_content"
|
|
android:layout_centerInParent="true"
|
|
android:background="#c0000000"
|
|
android:paddingBottom="5dp"
|
|
android:paddingLeft="30dp"
|
|
android:paddingRight="30dp"
|
|
android:paddingTop="5dp"
|
|
android:textColor="@android:color/white"
|
|
android:textSize="22sp"
|
|
android:textStyle="bold"
|
|
android:visibility="gone"
|
|
tools:ignore="RtlHardcoded"
|
|
tools:text="1:06:29"
|
|
tools:visibility="visible"/>
|
|
</RelativeLayout>
|
|
|
|
<LinearLayout
|
|
android:id="@+id/progress_bar"
|
|
android:layout_width="match_parent"
|
|
android:layout_height="wrap_content"
|
|
android:layout_alignParentBottom="true"
|
|
android:gravity="center"
|
|
android:orientation="horizontal"
|
|
android:paddingLeft="12dp"
|
|
android:paddingRight="12dp"
|
|
android:background="@drawable/player_controls_background">
|
|
|
|
<TextView
|
|
android:id="@+id/current_time"
|
|
android:layout_width="wrap_content"
|
|
android:layout_height="match_parent"
|
|
android:gravity="center"
|
|
android:minHeight="40dp"
|
|
android:text="-:--:--"
|
|
android:textColor="?attr/colorAccent"
|
|
tools:ignore="HardcodedText"
|
|
tools:text="1:06:29"/>
|
|
|
|
|
|
<androidx.appcompat.widget.AppCompatSeekBar
|
|
android:id="@+id/seek_bar"
|
|
style="@style/Widget.AppCompat.SeekBar"
|
|
android:layout_width="0dp"
|
|
android:layout_height="match_parent"
|
|
android:layout_weight="1"
|
|
android:paddingStart="12dp"
|
|
android:paddingEnd="12dp"
|
|
android:paddingBottom="4dp"
|
|
android:paddingTop="6dp"
|
|
tools:progress="25"
|
|
tools:secondaryProgress="50"/>
|
|
|
|
<TextView
|
|
android:id="@+id/end_time"
|
|
android:layout_width="wrap_content"
|
|
android:layout_height="match_parent"
|
|
android:gravity="center"
|
|
android:text="-:--:--"
|
|
android:textColor="?attr/colorAccent"
|
|
tools:ignore="HardcodedText"
|
|
tools:text="1:23:49"/>
|
|
|
|
<TextView
|
|
android:id="@+id/live_sync"
|
|
android:layout_width="wrap_content"
|
|
android:layout_height="match_parent"
|
|
android:paddingLeft="4dp"
|
|
android:paddingRight="4dp"
|
|
android:gravity="center"
|
|
android:text="@string/duration_live"
|
|
android:textAllCaps="true"
|
|
android:textColor="?attr/colorAccent"
|
|
android:background="?attr/selectableItemBackground"
|
|
android:visibility="gone"/>
|
|
</LinearLayout>
|
|
|
|
<RelativeLayout
|
|
android:id="@+id/playback_controls"
|
|
android:layout_width="match_parent"
|
|
android:layout_height="wrap_content"
|
|
android:layout_above="@+id/progress_bar"
|
|
android:orientation="horizontal"
|
|
tools:ignore="RtlHardcoded">
|
|
|
|
<ImageButton
|
|
android:id="@+id/control_repeat"
|
|
android:layout_width="30dp"
|
|
android:layout_height="30dp"
|
|
android:layout_toLeftOf="@+id/control_backward"
|
|
android:layout_centerVertical="true"
|
|
android:layout_marginLeft="5dp"
|
|
android:layout_marginRight="5dp"
|
|
android:background="?attr/selectableItemBackgroundBorderless"
|
|
android:clickable="true"
|
|
android:focusable="true"
|
|
android:scaleType="fitXY"
|
|
android:tint="?attr/colorAccent"
|
|
app:srcCompat="@drawable/ic_repeat_white_24dp"
|
|
tools:ignore="ContentDescription"/>
|
|
|
|
<androidx.appcompat.widget.AppCompatImageButton
|
|
android:id="@+id/control_backward"
|
|
android:layout_width="32dp"
|
|
android:layout_height="32dp"
|
|
android:layout_centerVertical="true"
|
|
android:layout_marginLeft="5dp"
|
|
android:layout_toLeftOf="@+id/control_fast_rewind"
|
|
android:background="?attr/selectableItemBackgroundBorderless"
|
|
android:clickable="true"
|
|
android:focusable="true"
|
|
android:scaleType="fitCenter"
|
|
android:tint="?attr/colorAccent"
|
|
app:srcCompat="@drawable/ic_previous_white_24dp"
|
|
tools:ignore="ContentDescription"/>
|
|
|
|
<ImageButton
|
|
android:id="@+id/control_fast_rewind"
|
|
android:layout_width="40dp"
|
|
android:layout_height="40dp"
|
|
android:layout_centerVertical="true"
|
|
android:layout_marginLeft="5dp"
|
|
android:layout_toLeftOf="@id/control_play_pause"
|
|
android:background="?attr/selectableItemBackgroundBorderless"
|
|
android:clickable="true"
|
|
android:focusable="true"
|
|
android:scaleType="fitCenter"
|
|
android:tint="?attr/colorAccent"
|
|
android:src="@drawable/exo_controls_rewind"/>
|
|
|
|
<ImageButton
|
|
android:id="@+id/control_play_pause"
|
|
android:layout_width="50dp"
|
|
android:layout_height="50dp"
|
|
android:layout_centerVertical="true"
|
|
android:layout_centerHorizontal="true"
|
|
android:layout_marginLeft="5dp"
|
|
android:layout_marginRight="5dp"
|
|
android:background="?attr/selectableItemBackgroundBorderless"
|
|
android:clickable="true"
|
|
android:focusable="true"
|
|
android:scaleType="fitCenter"
|
|
android:tint="?attr/colorAccent"
|
|
app:srcCompat="@drawable/ic_pause_white_24dp"
|
|
tools:ignore="ContentDescription"/>
|
|
|
|
<ProgressBar
|
|
android:id="@+id/control_progress_bar"
|
|
style="?android:attr/progressBarStyleLargeInverse"
|
|
android:layout_width="50dp"
|
|
android:layout_height="50dp"
|
|
android:layout_centerVertical="true"
|
|
android:layout_centerHorizontal="true"
|
|
android:layout_centerInParent="true"
|
|
android:layout_marginLeft="5dp"
|
|
android:layout_marginRight="5dp"
|
|
android:background="#00000000"
|
|
android:tint="?attr/colorAccent"
|
|
android:padding="2dp"
|
|
android:clickable="false"
|
|
android:scaleType="fitCenter"
|
|
android:indeterminate="true"
|
|
android:visibility="invisible"
|
|
tools:visibility="visible"/>
|
|
|
|
|
|
<ImageButton
|
|
android:id="@+id/control_fast_forward"
|
|
android:layout_width="40dp"
|
|
android:layout_height="40dp"
|
|
android:layout_centerVertical="true"
|
|
android:layout_marginRight="5dp"
|
|
android:layout_toRightOf="@id/control_play_pause"
|
|
android:background="?attr/selectableItemBackgroundBorderless"
|
|
android:clickable="true"
|
|
android:focusable="true"
|
|
android:scaleType="fitCenter"
|
|
android:tint="?attr/colorAccent"
|
|
android:src="@drawable/exo_controls_fastforward"/>
|
|
|
|
<androidx.appcompat.widget.AppCompatImageButton
|
|
android:id="@+id/control_forward"
|
|
android:layout_width="32dp"
|
|
android:layout_height="32dp"
|
|
android:layout_centerVertical="true"
|
|
android:layout_marginRight="5dp"
|
|
android:layout_toRightOf="@+id/control_fast_forward"
|
|
android:background="?attr/selectableItemBackgroundBorderless"
|
|
android:clickable="true"
|
|
android:focusable="true"
|
|
android:scaleType="fitCenter"
|
|
android:tint="?attr/colorAccent"
|
|
app:srcCompat="@drawable/ic_next_white_24dp"
|
|
tools:ignore="ContentDescription"/>
|
|
|
|
<ImageButton
|
|
android:id="@+id/control_shuffle"
|
|
android:layout_width="30dp"
|
|
android:layout_height="30dp"
|
|
android:layout_toRightOf="@+id/control_forward"
|
|
android:layout_centerVertical="true"
|
|
android:layout_marginLeft="5dp"
|
|
android:layout_marginRight="5dp"
|
|
android:background="?attr/selectableItemBackgroundBorderless"
|
|
android:clickable="true"
|
|
android:focusable="true"
|
|
android:scaleType="fitXY"
|
|
android:tint="?attr/colorAccent"
|
|
app:srcCompat="@drawable/ic_shuffle_white_24dp"
|
|
tools:ignore="ContentDescription"/>
|
|
|
|
</RelativeLayout>
|
|
|
|
</RelativeLayout> |