Update the image behavior for the following: 1. Use ic_album as the default image for songs and albums this just looks beter in general. 2. Use a special default drawable for the widget so that it doesn't look as strange. 3. Generally update the loading process throughout the app
126 lines
5.4 KiB
XML
126 lines
5.4 KiB
XML
<?xml version="1.0" encoding="utf-8"?>
|
|
<android.widget.RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
|
|
xmlns:tools="http://schemas.android.com/tools"
|
|
android:id="@android:id/background"
|
|
android:layout_width="match_parent"
|
|
android:layout_height="match_parent"
|
|
android:background="?attr/colorSurface"
|
|
android:theme="@style/Theme.Widget">
|
|
|
|
<!--
|
|
For this widget form to work, we need to scale the ImageView across a 1:1 aspect ratio.
|
|
However, since we are working with a RemoteViews instance, we can't just use ConstraintLayout
|
|
to achieve this. We can use RelativeLayout, but there's no way to force an aspect ratio with
|
|
that layout. However, if we create an invisible ImageView that contains a massive fixed-size
|
|
drawable and then clamp our main ImageView to it, we can make the view scale on a 1:1 aspect
|
|
ratio.
|
|
|
|
This is easily one of the worst layout hacks I've done, but it seems to work.
|
|
-->
|
|
|
|
<android.widget.ImageView
|
|
android:id="@+id/widget_aspect_ratio"
|
|
android:layout_width="wrap_content"
|
|
android:layout_height="wrap_content"
|
|
android:layout_above="@+id/widget_panel"
|
|
android:layout_alignParentStart="true"
|
|
android:layout_alignParentTop="true"
|
|
android:layout_alignParentEnd="true"
|
|
android:layout_marginStart="@dimen/spacing_medium"
|
|
android:layout_marginTop="@dimen/spacing_medium"
|
|
android:layout_marginEnd="@dimen/spacing_medium"
|
|
android:adjustViewBounds="true"
|
|
android:scaleType="fitCenter"
|
|
android:src="@drawable/ui_widget_aspect_ratio"
|
|
android:visibility="invisible"
|
|
tools:ignore="ContentDescription" />
|
|
|
|
<android.widget.ImageView
|
|
android:id="@+id/widget_cover"
|
|
android:layout_width="0dp"
|
|
android:layout_height="0dp"
|
|
android:layout_alignStart="@id/widget_aspect_ratio"
|
|
android:layout_alignTop="@id/widget_aspect_ratio"
|
|
android:layout_alignEnd="@id/widget_aspect_ratio"
|
|
android:layout_alignBottom="@id/widget_aspect_ratio"
|
|
android:src="@drawable/ic_widget_album"
|
|
tools:ignore="ContentDescription" />
|
|
|
|
<android.widget.LinearLayout
|
|
android:id="@+id/widget_panel"
|
|
android:layout_width="match_parent"
|
|
android:layout_height="wrap_content"
|
|
android:layout_alignParentBottom="true"
|
|
android:padding="@dimen/spacing_medium"
|
|
android:orientation="vertical"
|
|
android:layout_gravity="center">
|
|
|
|
<android.widget.TextView
|
|
android:id="@+id/widget_song"
|
|
style="@style/Widget.Auxio.TextView.Primary.AppWidget"
|
|
android:layout_width="match_parent"
|
|
android:layout_height="wrap_content"
|
|
android:text="@string/def_widget_song" />
|
|
|
|
<android.widget.TextView
|
|
android:id="@+id/widget_artist"
|
|
style="@style/Widget.Auxio.TextView.Secondary.AppWidget"
|
|
android:layout_width="match_parent"
|
|
android:layout_height="wrap_content"
|
|
android:text="@string/def_widget_artist" />
|
|
|
|
<android.widget.LinearLayout
|
|
android:layout_width="match_parent"
|
|
android:layout_height="wrap_content"
|
|
android:layout_marginTop="@dimen/spacing_small">
|
|
|
|
<android.widget.ImageButton
|
|
android:id="@+id/widget_loop"
|
|
style="@style/Widget.Auxio.Button.AppWidget"
|
|
android:layout_width="wrap_content"
|
|
android:layout_height="wrap_content"
|
|
android:layout_weight="1"
|
|
android:contentDescription="@string/desc_change_loop"
|
|
android:src="@drawable/ic_loop" />
|
|
|
|
<android.widget.ImageButton
|
|
android:id="@+id/widget_skip_prev"
|
|
style="@style/Widget.Auxio.Button.AppWidget"
|
|
android:layout_width="wrap_content"
|
|
android:layout_height="wrap_content"
|
|
android:layout_weight="1"
|
|
android:contentDescription="@string/desc_skip_prev"
|
|
android:src="@drawable/ic_skip_prev" />
|
|
|
|
<android.widget.ImageButton
|
|
android:id="@+id/widget_play_pause"
|
|
style="@style/Widget.Auxio.Button.AppWidget"
|
|
android:layout_width="wrap_content"
|
|
android:layout_height="wrap_content"
|
|
android:layout_weight="1"
|
|
android:contentDescription="@string/desc_play_pause"
|
|
android:src="@drawable/sel_playing_state" />
|
|
|
|
<android.widget.ImageButton
|
|
android:id="@+id/widget_skip_next"
|
|
style="@style/Widget.Auxio.Button.AppWidget"
|
|
android:layout_width="wrap_content"
|
|
android:layout_height="wrap_content"
|
|
android:layout_weight="1"
|
|
android:contentDescription="@string/desc_skip_next"
|
|
android:src="@drawable/ic_skip_next" />
|
|
|
|
<android.widget.ImageButton
|
|
android:id="@+id/widget_shuffle"
|
|
style="@style/Widget.Auxio.Button.AppWidget"
|
|
android:layout_width="wrap_content"
|
|
android:layout_height="wrap_content"
|
|
android:layout_weight="1"
|
|
android:contentDescription="@string/desc_shuffle"
|
|
android:src="@drawable/ic_shuffle" />
|
|
|
|
</android.widget.LinearLayout>
|
|
|
|
</android.widget.LinearLayout>
|
|
|
|
</android.widget.RelativeLayout>
|