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

+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>