Minamp 1.6: adjustable UI size, larger text and controls

- New setting "Text and button size" (Normal / Large / Extra large): scales
  text, icons and buttons on top of the phone's density (App.UI_SCALES)
- Larger default text, rows, tiles, touch targets and player icons; all sizes
  now live in res/values/dimens.xml
- Seek bar knob drawn in code, since Android 2.x caches XML shapes at the
  size they were first loaded
- Full-width buttons wrap to two lines instead of cutting words off
- Shorter labels so they fit 240x320 screens in both languages
- tools/check_fit.py checks that UI texts fit their slots at every size and
  language using Droid Sans metrics; build.sh runs it and setup_toolchain.sh
  fetches the font

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
This commit is contained in:
xockoandClaude Opus 5.5 committed 2026-10-15 08:02:49 +02:00
1 parent fa67e95fde
commit bbdab09f83
32 files changed
+457 -190

No files matched your search

+1 -1
View File
@@ -1,6 +1,6 @@
<?xml version="1.0" encoding="utf-8"?>
<layer-list xmlns:android="http://schemas.android.com/apk/res/android">
<item android:id="@android:id/background"><shape><solid android:color="#40FFFFFF" /><corners android:radius="2dp" /><size android:height="4dp" /></shape></item>
<item android:id="@android:id/background"><shape><solid android:color="#40FFFFFF" /><corners android:radius="3dp" /><size android:height="@dimen/seek_track" /></shape></item>
<item android:id="@android:id/secondaryProgress"><clip><shape><solid android:color="#40FFFFFF" /><corners android:radius="2dp" /></shape></clip></item>
<item android:id="@android:id/progress"><clip><shape><solid android:color="@color/text" /><corners android:radius="2dp" /></shape></clip></item>
</layer-list>
+1 -1
View File
@@ -1,5 +1,5 @@
<?xml version="1.0" encoding="utf-8"?>
<shape xmlns:android="http://schemas.android.com/apk/res/android" android:shape="oval">
<solid android:color="@color/text" />
<size android:width="14dp" android:height="14dp" />
<size android:width="@dimen/seek_thumb" android:height="@dimen/seek_thumb" />
</shape>
+2 -2
View File
@@ -9,7 +9,7 @@
<LinearLayout
android:id="@+id/tabs"
android:layout_width="match_parent"
android:layout_height="32dp"
android:layout_height="@dimen/tabs"
android:orientation="horizontal">
<TextView android:id="@+id/tab_home" style="@style/Tab" android:text="@string/tab_home" />
<TextView android:id="@+id/tab_artists" style="@style/Tab" android:text="@string/tab_artists" />
@@ -20,7 +20,7 @@
<View
android:id="@+id/tab_line"
android:layout_width="80dp"
android:layout_height="2dp"
android:layout_height="3dp"
android:background="@color/accent" />
<FrameLayout
+58 -52
View File
@@ -7,7 +7,7 @@
<LinearLayout
android:layout_width="match_parent"
android:layout_height="44dp"
android:layout_height="@dimen/np_topbar"
android:orientation="horizontal"
android:gravity="center_vertical"
android:paddingLeft="2dp"
@@ -17,11 +17,11 @@
android:layout_width="0dp" android:layout_height="wrap_content"
android:layout_weight="1" android:orientation="vertical" android:gravity="center">
<TextView android:layout_width="wrap_content" android:layout_height="wrap_content"
android:text="@string/playing_from" android:textSize="9sp" android:textStyle="bold"
android:textColor="@color/text2" />
android:text="@string/playing_from" android:textSize="@dimen/text_tiny" android:textStyle="bold"
android:textColor="@color/text2" android:singleLine="true" />
<TextView android:id="@+id/np_from" style="@style/Sub"
android:layout_width="wrap_content" android:layout_height="wrap_content"
android:textColor="@color/text" android:textSize="12sp" />
android:textColor="@color/text" android:textSize="@dimen/text_sub" />
</LinearLayout>
<ImageButton android:id="@+id/np_queue" style="@style/IconButton" />
</LinearLayout>
@@ -33,8 +33,8 @@
android:layout_weight="1"
android:paddingLeft="20dp"
android:paddingRight="20dp"
android:paddingTop="4dp"
android:paddingBottom="6dp">
android:paddingTop="2dp"
android:paddingBottom="4dp">
<com.minamp.SquareImageView
android:id="@+id/np_art"
android:layout_width="match_parent"
@@ -48,17 +48,17 @@
android:layout_height="wrap_content"
android:orientation="horizontal"
android:gravity="center_vertical"
android:paddingLeft="18dp"
android:paddingRight="8dp">
android:paddingLeft="16dp"
android:paddingRight="4dp">
<LinearLayout
android:layout_width="0dp" android:layout_height="wrap_content"
android:layout_weight="1" android:orientation="vertical">
<TextView android:id="@+id/np_title" style="@style/Title"
android:layout_width="match_parent" android:layout_height="wrap_content"
android:textSize="18sp" />
android:textSize="@dimen/text_np_title" />
<TextView android:id="@+id/np_sub" style="@style/Sub"
android:layout_width="match_parent" android:layout_height="wrap_content"
android:textSize="13sp" android:textColor="#CCFFFFFF" />
android:textSize="@dimen/text_np_sub" android:textColor="#CCFFFFFF" />
</LinearLayout>
<ImageButton android:id="@+id/np_love" style="@style/IconButton" />
</LinearLayout>
@@ -68,13 +68,13 @@
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:max="1000"
android:paddingLeft="18dp"
android:paddingRight="18dp"
android:paddingTop="8dp"
android:paddingBottom="4dp"
android:thumbOffset="7dp"
android:maxHeight="4dp"
android:minHeight="4dp"
android:paddingLeft="16dp"
android:paddingRight="16dp"
android:paddingTop="6dp"
android:paddingBottom="2dp"
android:thumbOffset="10dp"
android:maxHeight="@dimen/seek_track"
android:minHeight="@dimen/seek_track"
android:progressDrawable="@drawable/seek_progress"
android:thumb="@drawable/seek_thumb" />
@@ -82,64 +82,70 @@
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:orientation="horizontal"
android:paddingLeft="18dp"
android:paddingRight="18dp">
android:paddingLeft="16dp"
android:paddingRight="16dp">
<TextView android:id="@+id/np_elapsed"
android:layout_width="wrap_content" android:layout_height="wrap_content"
android:textSize="10sp" android:textColor="#B3FFFFFF" />
android:textSize="@dimen/text_tiny" android:textColor="#CCFFFFFF" />
<TextView android:id="@+id/np_status"
android:layout_width="0dp" android:layout_height="wrap_content"
android:layout_weight="1" android:gravity="center"
android:textSize="10sp" android:textColor="#B3FFFFFF"
android:textSize="@dimen/text_tiny" android:textColor="#CCFFFFFF"
android:singleLine="true" android:ellipsize="end"
android:paddingLeft="4dp" android:paddingRight="4dp" />
<TextView android:id="@+id/np_remaining"
android:layout_width="wrap_content" android:layout_height="wrap_content"
android:textSize="10sp" android:textColor="#B3FFFFFF" />
android:textSize="@dimen/text_tiny" android:textColor="#CCFFFFFF" />
</LinearLayout>
<!-- five equal cells: never wider than the screen, whatever the UI size -->
<LinearLayout
android:layout_width="match_parent"
android:layout_height="64dp"
android:orientation="horizontal"
android:gravity="center"
android:paddingLeft="6dp"
android:paddingRight="6dp">
<ImageButton android:id="@+id/np_shuffle" style="@style/IconButton" />
<View android:layout_width="0dp" android:layout_height="1dp" android:layout_weight="1" />
<ImageButton android:id="@+id/np_prev" style="@style/IconButton" android:layout_width="50dp" android:layout_height="50dp" />
<ImageButton android:id="@+id/np_play"
android:layout_width="58dp" android:layout_height="58dp"
android:layout_marginLeft="8dp" android:layout_marginRight="8dp"
android:background="@drawable/bg_play_circle" android:scaleType="center" />
<ImageButton android:id="@+id/np_next" style="@style/IconButton" android:layout_width="50dp" android:layout_height="50dp" />
<View android:layout_width="0dp" android:layout_height="1dp" android:layout_weight="1" />
<ImageButton android:id="@+id/np_repeat" style="@style/IconButton" />
</LinearLayout>
<LinearLayout
android:layout_width="match_parent"
android:layout_height="36dp"
android:layout_height="@dimen/np_controls"
android:orientation="horizontal"
android:gravity="center_vertical"
android:paddingLeft="12dp"
android:paddingRight="12dp"
android:layout_marginBottom="4dp">
android:paddingLeft="4dp"
android:paddingRight="4dp">
<ImageButton android:id="@+id/np_shuffle" style="@style/IconButton"
android:layout_width="0dp" android:layout_weight="1" />
<ImageButton android:id="@+id/np_prev" style="@style/IconButton"
android:layout_width="0dp" android:layout_weight="1" android:layout_height="@dimen/np_play" />
<FrameLayout android:layout_width="0dp" android:layout_height="match_parent" android:layout_weight="1.3">
<ImageButton android:id="@+id/np_play"
android:layout_width="@dimen/np_play" android:layout_height="@dimen/np_play"
android:layout_gravity="center"
android:background="@drawable/bg_play_circle" android:scaleType="center" />
</FrameLayout>
<ImageButton android:id="@+id/np_next" style="@style/IconButton"
android:layout_width="0dp" android:layout_weight="1" android:layout_height="@dimen/np_play" />
<ImageButton android:id="@+id/np_repeat" style="@style/IconButton"
android:layout_width="0dp" android:layout_weight="1" />
</LinearLayout>
<LinearLayout
android:layout_width="match_parent"
android:layout_height="@dimen/np_bottom"
android:orientation="horizontal"
android:gravity="center_vertical"
android:paddingLeft="8dp"
android:paddingRight="8dp"
android:layout_marginBottom="2dp">
<LinearLayout android:id="@+id/np_sleep"
android:layout_width="wrap_content" android:layout_height="match_parent"
android:layout_width="0dp" android:layout_weight="1" android:layout_height="match_parent"
android:orientation="horizontal" android:gravity="center_vertical"
android:background="@drawable/bg_pressable" android:paddingLeft="6dp" android:paddingRight="8dp">
<ImageView android:id="@+id/np_sleep_icon" android:layout_width="20dp" android:layout_height="20dp" />
android:background="@drawable/bg_pressable" android:paddingLeft="8dp" android:paddingRight="8dp">
<ImageView android:id="@+id/np_sleep_icon"
android:layout_width="@dimen/np_small_icon" android:layout_height="@dimen/np_small_icon" />
<TextView android:id="@+id/np_sleep_text"
android:layout_width="wrap_content" android:layout_height="wrap_content"
android:textSize="11sp" android:textColor="#B3FFFFFF" android:paddingLeft="5dp"
android:textSize="@dimen/text_np_small" android:textColor="#CCFFFFFF" android:paddingLeft="6dp"
android:singleLine="true" android:ellipsize="end"
android:text="@string/sleep" />
</LinearLayout>
<View android:layout_width="0dp" android:layout_height="1dp" android:layout_weight="1" />
<TextView android:id="@+id/np_artist_link"
android:layout_width="wrap_content" android:layout_height="match_parent"
android:gravity="center_vertical" android:background="@drawable/bg_pressable"
android:paddingLeft="8dp" android:paddingRight="8dp"
android:textSize="11sp" android:textColor="#B3FFFFFF" android:text="@string/album_link" />
android:paddingLeft="8dp" android:paddingRight="8dp" android:singleLine="true"
android:textSize="@dimen/text_np_small" android:textColor="#CCFFFFFF" android:text="@string/album_link" />
</LinearLayout>
</LinearLayout>
+1 -1
View File
@@ -5,7 +5,7 @@
android:orientation="vertical">
<LinearLayout
android:layout_width="match_parent"
android:layout_height="50dp"
android:layout_height="@dimen/topbar"
android:orientation="horizontal"
android:gravity="center_vertical"
android:paddingLeft="4dp"
+8 -8
View File
@@ -22,7 +22,7 @@
android:text="@string/app_name" android:textSize="26sp" android:textStyle="bold"
android:paddingTop="8dp" />
<TextView android:layout_width="wrap_content" android:layout_height="wrap_content"
android:gravity="center" android:textColor="@color/text2" android:textSize="13sp"
android:gravity="center" android:textColor="@color/text2" android:textSize="@dimen/text_sub"
android:paddingTop="4dp" android:paddingBottom="22dp"
android:text="@string/tagline" />
<Button android:id="@+id/btn_signin" style="@style/ButtonAccent"
@@ -34,7 +34,7 @@
android:layout_width="wrap_content" android:layout_height="wrap_content"
android:layout_marginTop="18dp" android:padding="8dp"
android:background="@drawable/bg_pressable"
android:textColor="@color/text2" android:textSize="12sp"
android:textColor="@color/text2" android:textSize="@dimen/text_sub"
android:text="@string/connection_log" />
</LinearLayout>
@@ -44,14 +44,14 @@
android:orientation="vertical" android:gravity="center_horizontal"
android:visibility="gone">
<TextView android:layout_width="wrap_content" android:layout_height="wrap_content"
android:gravity="center" android:textColor="@color/text2" android:textSize="13sp"
android:gravity="center" android:textColor="@color/text2" android:textSize="@dimen/text_sub"
android:paddingTop="12dp"
android:text="@string/pin_open" />
<TextView android:layout_width="wrap_content" android:layout_height="wrap_content"
android:text="plex.tv/link" android:textSize="22sp" android:textStyle="bold"
android:textColor="@color/accent" android:paddingTop="4dp" />
<TextView android:layout_width="wrap_content" android:layout_height="wrap_content"
android:textColor="@color/text2" android:textSize="13sp" android:paddingTop="10dp"
android:textColor="@color/text2" android:textSize="@dimen/text_sub" android:paddingTop="10dp"
android:text="@string/pin_enter" />
<TextView android:id="@+id/pin_code"
android:layout_width="wrap_content" android:layout_height="wrap_content"
@@ -63,7 +63,7 @@
android:layout_width="wrap_content" android:layout_height="wrap_content" />
<TextView android:id="@+id/pin_status"
android:layout_width="wrap_content" android:layout_height="wrap_content"
android:textColor="@color/text2" android:textSize="12sp" android:paddingLeft="8dp"
android:textColor="@color/text2" android:textSize="@dimen/text_sub" android:paddingLeft="8dp"
android:text="@string/pin_waiting" />
</LinearLayout>
<Button android:id="@+id/btn_pin_check" style="@style/ButtonAccent"
@@ -79,7 +79,7 @@
android:layout_width="match_parent" android:layout_height="wrap_content"
android:orientation="vertical" android:visibility="gone">
<TextView android:layout_width="wrap_content" android:layout_height="wrap_content"
android:text="@string/server_address" android:textSize="18sp" android:textStyle="bold" />
android:text="@string/server_address" android:textSize="@dimen/text_title" android:textStyle="bold" />
<TextView style="@style/Sub" android:layout_width="match_parent" android:layout_height="wrap_content"
android:singleLine="false" android:paddingTop="4dp" android:paddingBottom="10dp"
android:text="@string/server_address_help" />
@@ -102,7 +102,7 @@
android:orientation="vertical" android:visibility="gone">
<TextView android:id="@+id/choose_title"
android:layout_width="wrap_content" android:layout_height="wrap_content"
android:textSize="18sp" android:textStyle="bold" />
android:textSize="@dimen/text_title" android:textStyle="bold" />
<TextView android:id="@+id/choose_sub" style="@style/Sub"
android:layout_width="match_parent" android:layout_height="wrap_content"
android:singleLine="false" android:paddingTop="2dp" android:paddingBottom="10dp" />
@@ -122,7 +122,7 @@
<ProgressBar android:layout_width="wrap_content" android:layout_height="wrap_content" />
<TextView android:id="@+id/busy_text"
android:layout_width="wrap_content" android:layout_height="wrap_content"
android:gravity="center" android:textColor="@color/text2" android:textSize="13sp"
android:gravity="center" android:textColor="@color/text2" android:textSize="@dimen/text_sub"
android:paddingTop="12dp" />
</LinearLayout>
</LinearLayout>
+1 -1
View File
@@ -10,7 +10,7 @@
android:focusable="true">
<TextView android:id="@+id/choice_title" style="@style/Title"
android:layout_width="match_parent" android:layout_height="wrap_content"
android:textSize="15sp" />
android:textSize="@dimen/text_body" />
<TextView android:id="@+id/choice_sub" style="@style/Sub"
android:layout_width="match_parent" android:layout_height="wrap_content" />
</LinearLayout>
+3 -3
View File
@@ -4,8 +4,8 @@
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:paddingLeft="10dp"
android:paddingTop="12dp"
android:paddingBottom="4dp"
android:paddingTop="14dp"
android:paddingBottom="6dp"
android:textColor="@color/accent"
android:textSize="11sp"
android:textSize="@dimen/text_small"
android:textStyle="bold" />
+7 -7
View File
@@ -1,20 +1,20 @@
<?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="54dp"
android:layout_height="@dimen/row"
android:orientation="horizontal"
android:gravity="center_vertical"
android:paddingLeft="6dp"
android:paddingRight="4dp">
<FrameLayout android:layout_width="44dp" android:layout_height="44dp">
<FrameLayout android:layout_width="@dimen/row_art" android:layout_height="@dimen/row_art">
<ImageView android:id="@+id/row_art"
android:layout_width="44dp" android:layout_height="44dp"
android:layout_width="@dimen/row_art" android:layout_height="@dimen/row_art"
android:scaleType="centerCrop" />
<TextView android:id="@+id/row_num"
android:layout_width="44dp" android:layout_height="44dp"
android:layout_width="@dimen/row_art" android:layout_height="@dimen/row_art"
android:gravity="center" android:textColor="@color/text2"
android:textSize="13sp" android:visibility="gone" />
android:textSize="@dimen/text_sub" android:visibility="gone" />
</FrameLayout>
<LinearLayout
@@ -23,13 +23,13 @@
android:paddingLeft="9dp">
<TextView android:id="@+id/row_title" style="@style/Title"
android:layout_width="match_parent" android:layout_height="wrap_content"
android:textSize="14sp" android:textStyle="normal" />
android:textSize="@dimen/text_body" android:textStyle="normal" />
<TextView android:id="@+id/row_sub" style="@style/Sub"
android:layout_width="match_parent" android:layout_height="wrap_content" />
</LinearLayout>
<TextView android:id="@+id/row_right"
android:layout_width="wrap_content" android:layout_height="wrap_content"
android:textColor="@color/text2" android:textSize="11sp"
android:textColor="@color/text2" android:textSize="@dimen/text_tiny"
android:paddingLeft="6dp" android:paddingRight="6dp" />
</LinearLayout>
+4 -4
View File
@@ -1,6 +1,6 @@
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="96dp"
android:layout_width="@dimen/card"
android:layout_height="wrap_content"
android:orientation="vertical"
android:padding="4dp"
@@ -8,12 +8,12 @@
android:clickable="true"
android:focusable="true">
<ImageView android:id="@+id/card_art"
android:layout_width="88dp" android:layout_height="88dp"
android:layout_width="@dimen/card_art" android:layout_height="@dimen/card_art"
android:scaleType="centerCrop" />
<TextView android:id="@+id/card_title" style="@style/Title"
android:layout_width="match_parent" android:layout_height="wrap_content"
android:textSize="12sp" android:textStyle="normal" android:paddingTop="4dp" />
android:textSize="@dimen/text_card_title" android:textStyle="normal" android:paddingTop="4dp" />
<TextView android:id="@+id/card_sub" style="@style/Sub"
android:layout_width="match_parent" android:layout_height="wrap_content"
android:textSize="10sp" />
android:textSize="@dimen/text_tiny" />
</LinearLayout>
+7 -5
View File
@@ -10,7 +10,7 @@
android:layout_height="wrap_content"
android:orientation="horizontal">
<ImageView android:id="@+id/detail_art"
android:layout_width="104dp" android:layout_height="104dp"
android:layout_width="@dimen/detail_art" android:layout_height="@dimen/detail_art"
android:scaleType="centerCrop" />
<LinearLayout
android:layout_width="0dp" android:layout_height="wrap_content"
@@ -18,11 +18,11 @@
android:paddingLeft="12dp" android:paddingTop="4dp">
<TextView android:id="@+id/detail_title"
android:layout_width="match_parent" android:layout_height="wrap_content"
android:textSize="17sp" android:textStyle="bold" android:maxLines="3"
android:textSize="@dimen/text_detail_title" android:textStyle="bold" android:maxLines="3"
android:ellipsize="end" android:textColor="@color/text" />
<TextView android:id="@+id/detail_sub"
android:layout_width="match_parent" android:layout_height="wrap_content"
android:textSize="13sp" android:textColor="@color/accent"
android:textSize="@dimen/text_np_sub" android:textColor="@color/accent"
android:paddingTop="2dp" android:singleLine="true" android:ellipsize="end" />
<TextView android:id="@+id/detail_meta" style="@style/Sub"
android:layout_width="match_parent" android:layout_height="wrap_content"
@@ -37,9 +37,11 @@
android:paddingTop="10dp">
<Button android:id="@+id/detail_play" style="@style/ButtonAccent"
android:layout_width="0dp" android:layout_weight="1"
android:layout_marginRight="5dp" android:text="@string/play" />
android:layout_marginRight="5dp" android:text="@string/play"
android:paddingLeft="4dp" android:paddingRight="4dp" />
<Button android:id="@+id/detail_shuffle" style="@style/ButtonOutline"
android:layout_width="0dp" android:layout_weight="1"
android:layout_marginLeft="5dp" android:text="@string/shuffle" />
android:layout_marginLeft="5dp" android:text="@string/shuffle"
android:paddingLeft="4dp" android:paddingRight="4dp" />
</LinearLayout>
</LinearLayout>
+9 -9
View File
@@ -1,21 +1,21 @@
<?xml version="1.0" encoding="utf-8"?>
<!-- Full-width row: on a 240 px screen two side by side cut their titles short. -->
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="0dp"
android:layout_height="58dp"
android:layout_weight="1"
android:layout_width="match_parent"
android:layout_height="@dimen/tile"
android:orientation="horizontal"
android:gravity="center_vertical"
android:background="@drawable/bg_tile"
android:paddingLeft="8dp"
android:paddingRight="6dp"
android:paddingLeft="12dp"
android:paddingRight="10dp"
android:clickable="true"
android:focusable="true">
<ImageView android:id="@+id/tile_icon" android:layout_width="26dp" android:layout_height="26dp" />
<ImageView android:id="@+id/tile_icon" android:layout_width="@dimen/tile_icon" android:layout_height="@dimen/tile_icon" />
<LinearLayout android:layout_width="0dp" android:layout_height="wrap_content"
android:layout_weight="1" android:orientation="vertical" android:paddingLeft="7dp">
android:layout_weight="1" android:orientation="vertical" android:paddingLeft="12dp">
<TextView android:id="@+id/tile_title" style="@style/Title"
android:layout_width="match_parent" android:layout_height="wrap_content" android:textSize="13sp" />
android:layout_width="match_parent" android:layout_height="wrap_content" android:textSize="@dimen/text_tile" />
<TextView android:id="@+id/tile_sub" style="@style/Sub"
android:layout_width="match_parent" android:layout_height="wrap_content" android:textSize="10sp" />
android:layout_width="match_parent" android:layout_height="wrap_content" android:textSize="@dimen/text_small" />
</LinearLayout>
</LinearLayout>
+5 -5
View File
@@ -11,21 +11,21 @@
android:id="@+id/mini_progress"
style="@android:style/Widget.ProgressBar.Horizontal"
android:layout_width="match_parent"
android:layout_height="2dp"
android:layout_height="3dp"
android:max="1000"
android:progressDrawable="@drawable/progress_mini" />
<LinearLayout
android:id="@+id/mini_body"
android:layout_width="match_parent"
android:layout_height="50dp"
android:layout_height="@dimen/mini"
android:orientation="horizontal"
android:gravity="center_vertical"
android:background="@drawable/bg_pressable"
android:paddingLeft="5dp">
<ImageView android:id="@+id/mini_art"
android:layout_width="40dp" android:layout_height="40dp"
android:layout_width="@dimen/mini_art" android:layout_height="@dimen/mini_art"
android:scaleType="centerCrop" />
<LinearLayout
@@ -34,10 +34,10 @@
android:paddingLeft="8dp">
<TextView android:id="@+id/mini_title" style="@style/Title"
android:layout_width="match_parent" android:layout_height="wrap_content"
android:textSize="13sp" />
android:textSize="@dimen/text_mini_title" />
<TextView android:id="@+id/mini_sub" style="@style/Sub"
android:layout_width="match_parent" android:layout_height="wrap_content"
android:textSize="11sp" />
android:textSize="@dimen/text_mini_sub" />
</LinearLayout>
<ImageButton android:id="@+id/mini_play" style="@style/IconButton" />
+1 -1
View File
@@ -12,7 +12,7 @@
android:layout_width="wrap_content" android:layout_height="wrap_content" />
<TextView android:id="@+id/status_text"
android:layout_width="wrap_content" android:layout_height="wrap_content"
android:gravity="center" android:textColor="@color/text2" android:textSize="13sp"
android:gravity="center" android:textColor="@color/text2" android:textSize="@dimen/text_status"
android:paddingTop="8dp" />
<Button android:id="@+id/status_retry" style="@style/ButtonOutline"
android:layout_width="wrap_content" android:layout_marginTop="12dp"
+2 -2
View File
@@ -2,7 +2,7 @@
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:id="@+id/topbar"
android:layout_width="match_parent"
android:layout_height="46dp"
android:layout_height="@dimen/topbar"
android:orientation="horizontal"
android:gravity="center_vertical"
android:paddingLeft="4dp"
@@ -20,7 +20,7 @@
android:layout_width="match_parent" android:layout_height="wrap_content" />
<TextView android:id="@+id/bar_sub" style="@style/Sub"
android:layout_width="match_parent" android:layout_height="wrap_content"
android:textSize="11sp" android:visibility="gone" />
android:textSize="@dimen/text_small" android:visibility="gone" />
</LinearLayout>
<ImageButton android:id="@+id/btn_action" style="@style/IconButton" android:visibility="gone" />
+14 -9
View File
@@ -10,7 +10,7 @@
<string name="app_name">Minamp</string>
<string name="applies_next_track">Applies from the next track</string>
<string name="artist">Artist</string>
<string name="artist_radio">Artist radio</string>
<string name="artist_radio">Radio</string>
<string name="artist_radio_shuffle">Artist radio (shuffle)</string>
<string name="back">Back</string>
<string name="buffering">Buffering…</string>
@@ -26,7 +26,7 @@
<string name="clear_upcoming">Clear upcoming tracks</string>
<string name="close">Close</string>
<string name="connect">Connect</string>
<string name="connect_address">Connect to a server address</string>
<string name="connect_address">Connect by address</string>
<string name="connected_x">Connected: %1$s</string>
<string name="connecting">Connecting…</string>
<string name="connecting_to">Connecting to %1$s…\nTrying home network, then remote, then relay.</string>
@@ -88,7 +88,7 @@
<string name="paused_dot">Paused · </string>
<string name="pick_something">Pick something from your library</string>
<string name="pin_check_failed">Check %1$d failed: %2$s — retrying</string>
<string name="pin_check_now">I\'ve entered it — check now</string>
<string name="pin_check_now">Check now</string>
<string name="pin_enter">and enter this code:</string>
<string name="pin_expired">Code expired — press Cancel and sign in again</string>
<string name="pin_linked">Linked!</string>
@@ -121,7 +121,7 @@
<string name="save_to_sd">Save to SD card</string>
<string name="saved_log">Saved as Minamp-log.txt on the SD card</string>
<string name="search">Search</string>
<string name="search_hint">Artists, albums, tracks</string>
<string name="search_hint">Search music</string>
<string name="search_in">Search %1$s</string>
<string name="searching">Searching…</string>
<string name="secure"> (secure)</string>
@@ -143,6 +143,7 @@
<string name="set_quality_home">Quality at home: %1$s</string>
<string name="set_secure_home">Encrypt at home too (slower): %1$s</string>
<string name="set_server">Server: %1$s</string>
<string name="set_size">Text and button size: %1$s</string>
<string name="settings">Settings</string>
<string name="shuffle">Shuffle</string>
<string name="shuffle_off">Shuffle off</string>
@@ -153,6 +154,10 @@
<string name="sign_out_confirm">Sign out and forget this server?</string>
<string name="signed_in_as">Signed in as %1$s</string>
<string name="signed_in_finding">Signed in. Finding your servers…</string>
<string name="size_large">Large</string>
<string name="size_normal">Normal</string>
<string name="size_title">Text and button size</string>
<string name="size_xlarge">Extra large</string>
<string name="sleep">Sleep</string>
<string name="sleep_15">15 minutes</string>
<string name="sleep_30">30 minutes</string>
@@ -173,10 +178,10 @@
<string name="starting_x">Starting %1$s…</string>
<string name="stream_interrupted">Stream interrupted</string>
<string name="surprise_me">Surprise me</string>
<string name="tab_albums">ALBUMS</string>
<string name="tab_artists">ARTISTS</string>
<string name="tab_home">HOME</string>
<string name="tab_playlists">PLAYLISTS</string>
<string name="tab_albums">Albums</string>
<string name="tab_artists">Artists</string>
<string name="tab_home">Home</string>
<string name="tab_playlists">Playlists</string>
<string name="tagline">Your Plex music, anywhere,\non a very small phone.</string>
<string name="test_streaming">Test streaming</string>
<string name="testing">Testing… (about 30 s)</string>
@@ -204,6 +209,6 @@
<string name="unencrypted"> (unencrypted)</string>
<string name="unlove">Remove from favourites</string>
<string name="unloved">Removed from favourites</string>
<string name="up_next">Up next</string>
<string name="up_next">Queue</string>
<string name="you">you</string>
</resources>
+47
View File
@@ -0,0 +1,47 @@
<?xml version="1.0" encoding="utf-8"?>
<!-- All UI sizes in one place. tools/check_fit.py reads these to check that texts fit. -->
<resources>
<!-- text -->
<dimen name="text_tiny">12sp</dimen> <!-- times, "PLAYING FROM", card subtitles -->
<dimen name="text_small">13sp</dimen> <!-- section headers, tile subtitles -->
<dimen name="text_tab">13sp</dimen>
<dimen name="text_sub">14sp</dimen> <!-- secondary lines -->
<dimen name="text_body">16sp</dimen> <!-- list titles, fields -->
<dimen name="text_button">16sp</dimen>
<dimen name="text_tile">15sp</dimen>
<dimen name="text_status">15sp</dimen>
<dimen name="text_title">18sp</dimen> <!-- top bar -->
<dimen name="text_detail_title">20sp</dimen>
<dimen name="text_np_title">21sp</dimen>
<dimen name="text_np_sub">15sp</dimen>
<dimen name="text_np_small">14sp</dimen>
<dimen name="text_mini_title">15sp</dimen>
<dimen name="text_mini_sub">13sp</dimen>
<dimen name="text_card_title">13sp</dimen>
<dimen name="text_log">11sp</dimen>
<!-- touch targets and bars -->
<dimen name="touch">48dp</dimen>
<dimen name="topbar">54dp</dimen>
<dimen name="tabs">42dp</dimen>
<dimen name="button">48dp</dimen>
<dimen name="button_pad">10dp</dimen>
<dimen name="row">66dp</dimen>
<dimen name="row_art">52dp</dimen>
<dimen name="mini">62dp</dimen>
<dimen name="mini_art">48dp</dimen>
<dimen name="tile">62dp</dimen>
<dimen name="tile_icon">28dp</dimen>
<dimen name="card">110dp</dimen>
<dimen name="card_art">102dp</dimen>
<dimen name="detail_art">112dp</dimen>
<!-- now playing -->
<dimen name="np_topbar">50dp</dimen>
<dimen name="np_controls">70dp</dimen>
<dimen name="np_play">64dp</dimen>
<dimen name="np_small_icon">22dp</dimen>
<dimen name="np_bottom">44dp</dimen>
<dimen name="seek_track">6dp</dimen>
<dimen name="seek_thumb">20dp</dimen>
</resources>
+19 -14
View File
@@ -10,7 +10,7 @@
<string name="app_name">Minamp</string>
<string name="applies_next_track">Aplícase desde a seguinte pista</string>
<string name="artist">Artista</string>
<string name="artist_radio">Radio do artista</string>
<string name="artist_radio">Radio</string>
<string name="artist_radio_shuffle">Radio do artista (aleatorio)</string>
<string name="back">Volver</string>
<string name="buffering">Cargando…</string>
@@ -26,7 +26,7 @@
<string name="clear_upcoming">Borrar as pistas seguintes</string>
<string name="close">Pechar</string>
<string name="connect">Conectar</string>
<string name="connect_address">Conectar a un enderezo de servidor</string>
<string name="connect_address">Conectar por enderezo</string>
<string name="connected_x">Conectado: %1$s</string>
<string name="connecting">Conectando…</string>
<string name="connecting_to">Conectando con %1$s…\nProbando a rede da casa, despois a remota e despois o relay.</string>
@@ -88,7 +88,7 @@
<string name="paused_dot">En pausa · </string>
<string name="pick_something">Escolle algo da túa biblioteca</string>
<string name="pin_check_failed">Fallou a comprobación %1$d: %2$s; tentando de novo</string>
<string name="pin_check_now">Xa o escribín: comprobar agora</string>
<string name="pin_check_now">Comprobar agora</string>
<string name="pin_enter">e escribe este código:</string>
<string name="pin_expired">O código caducou: preme Cancelar e inicia sesión de novo</string>
<string name="pin_linked">Vinculado!</string>
@@ -96,7 +96,7 @@
<string name="pin_open">Nun ordenador ou nun teléfono máis novo, abre</string>
<string name="pin_waiting">Agardando a que vincules a conta…</string>
<string name="play">Reproducir</string>
<string name="play_all">Reproducir todo</string>
<string name="play_all">Reproducir</string>
<string name="play_next">Reproducir a continuación</string>
<string name="playback_error">Erro de reprodución (%1$d/%2$d)</string>
<string name="playing_from">REPRODUCINDO DESDE</string>
@@ -110,8 +110,8 @@
<string name="queue_empty">A cola está baleira</string>
<string name="random_album">Álbum ao chou</string>
<string name="random_album_sub">Proba sorte</string>
<string name="recently_added">Engadidos recentemente</string>
<string name="recently_played">Escoitados recentemente</string>
<string name="recently_added">Novidades</string>
<string name="recently_played">Últimas escoitas</string>
<string name="reconnecting">Reconectando…</string>
<string name="refresh">Actualizar</string>
<string name="remove_from_queue">Quitar da cola</string>
@@ -121,7 +121,7 @@
<string name="save_to_sd">Gardar na tarxeta SD</string>
<string name="saved_log">Gardado como Minamp-log.txt na tarxeta SD</string>
<string name="search">Buscar</string>
<string name="search_hint">Artistas, álbums, cancións</string>
<string name="search_hint">Buscar música</string>
<string name="search_in">Buscar en %1$s</string>
<string name="searching">Buscando…</string>
<string name="secure"> (cifrada)</string>
@@ -143,6 +143,7 @@
<string name="set_quality_home">Calidade na casa: %1$s</string>
<string name="set_secure_home">Cifrar tamén na casa (máis lento): %1$s</string>
<string name="set_server">Servidor: %1$s</string>
<string name="set_size">Tamaño de texto e botóns: %1$s</string>
<string name="settings">Axustes</string>
<string name="shuffle">Aleatorio</string>
<string name="shuffle_off">Aleatorio desactivado</string>
@@ -153,7 +154,11 @@
<string name="sign_out_confirm">Pechar sesión e esquecer este servidor?</string>
<string name="signed_in_as">Sesión iniciada como %1$s</string>
<string name="signed_in_finding">Sesión iniciada. Buscando os teus servidores…</string>
<string name="sleep">Temporizador</string>
<string name="size_large">Grande</string>
<string name="size_normal">Normal</string>
<string name="size_title">Tamaño de texto e botóns</string>
<string name="size_xlarge">Moi grande</string>
<string name="sleep">Durmir</string>
<string name="sleep_15">15 minutos</string>
<string name="sleep_30">30 minutos</string>
<string name="sleep_45">45 minutos</string>
@@ -173,15 +178,15 @@
<string name="starting_x">Iniciando %1$s…</string>
<string name="stream_interrupted">Interrompeuse a transmisión</string>
<string name="surprise_me">Sorpréndeme</string>
<string name="tab_albums">ÁLBUMS</string>
<string name="tab_artists">ARTISTAS</string>
<string name="tab_home">INICIO</string>
<string name="tab_playlists">LISTAS</string>
<string name="tab_albums">Álbums</string>
<string name="tab_artists">Artistas</string>
<string name="tab_home">Inicio</string>
<string name="tab_playlists">Listas</string>
<string name="tagline">A túa música de Plex, onde queiras,\nnun teléfono moi pequeno.</string>
<string name="test_streaming">Probar reprodución</string>
<string name="testing">Probando… (uns 30 s)</string>
<string name="time_travel">Viaxe no tempo</string>
<string name="time_travel_sub">Escolle unha década</string>
<string name="time_travel_sub">Escolle década</string>
<string name="time_travel_title">Radio viaxe no tempo</string>
<string name="token_hint">X-Plex-Token (opcional na rede da casa)</string>
<string name="tr_artist">Artista</string>
@@ -204,6 +209,6 @@
<string name="unencrypted"> (sen cifrar)</string>
<string name="unlove">Quitar de favoritas</string>
<string name="unloved">Quitada de favoritas</string>
<string name="up_next">A continuación</string>
<string name="up_next">Cola</string>
<string name="you">ti</string>
</resources>
+17 -10
View File
@@ -18,7 +18,7 @@
</style>
<style name="Title">
<item name="android:textSize">16sp</item>
<item name="android:textSize">@dimen/text_title</item>
<item name="android:textStyle">bold</item>
<item name="android:textColor">@color/text</item>
<item name="android:singleLine">true</item>
@@ -26,7 +26,7 @@
</style>
<style name="Sub">
<item name="android:textSize">12sp</item>
<item name="android:textSize">@dimen/text_sub</item>
<item name="android:textColor">@color/text2</item>
<item name="android:singleLine">true</item>
<item name="android:ellipsize">end</item>
@@ -37,29 +37,35 @@
<item name="android:layout_height">match_parent</item>
<item name="android:layout_weight">1</item>
<item name="android:gravity">center</item>
<item name="android:textSize">11sp</item>
<item name="android:textSize">@dimen/text_tab</item>
<item name="android:textStyle">bold</item>
<item name="android:textColor">@color/text2</item>
<item name="android:background">@drawable/bg_pressable</item>
<item name="android:singleLine">true</item>
<item name="android:ellipsize">end</item>
</style>
<style name="IconButton">
<item name="android:layout_width">44dp</item>
<item name="android:layout_height">44dp</item>
<item name="android:layout_width">@dimen/touch</item>
<item name="android:layout_height">@dimen/touch</item>
<item name="android:background">@drawable/bg_pressable_round</item>
<item name="android:scaleType">center</item>
</style>
<!-- full-width buttons may wrap to two lines rather than cut words off -->
<style name="ButtonAccent">
<item name="android:layout_height">40dp</item>
<item name="android:layout_height">wrap_content</item>
<item name="android:minHeight">@dimen/button</item>
<item name="android:background">@drawable/bg_button_accent</item>
<item name="android:textColor">@color/on_accent</item>
<item name="android:textSize">14sp</item>
<item name="android:textSize">@dimen/text_button</item>
<item name="android:textStyle">bold</item>
<item name="android:gravity">center</item>
<item name="android:paddingLeft">16dp</item>
<item name="android:paddingRight">16dp</item>
<item name="android:maxLines">2</item>
<item name="android:paddingLeft">@dimen/button_pad</item>
<item name="android:paddingRight">@dimen/button_pad</item>
<item name="android:paddingTop">6dp</item>
<item name="android:paddingBottom">6dp</item>
</style>
<style name="ButtonOutline" parent="ButtonAccent">
@@ -70,10 +76,11 @@
<style name="Edit">
<item name="android:layout_width">match_parent</item>
<item name="android:layout_height">wrap_content</item>
<item name="android:minHeight">@dimen/button</item>
<item name="android:background">@drawable/bg_edit</item>
<item name="android:textColor">@color/text</item>
<item name="android:textColorHint">@color/text2</item>
<item name="android:textSize">14sp</item>
<item name="android:textSize">@dimen/text_body</item>
<item name="android:padding">10dp</item>
<item name="android:singleLine">true</item>
</style>