Documentation Index
Fetch the complete documentation index at: https://mintlify.com/vivizzz007/vivi-music/llms.txt
Use this file to discover all available pages before exploring further.
VIVI Music’s Appearance settings give you deep control over every visual layer of the app — from the color palette that wraps the interface down to the pixel radius on album art corners. Built entirely on Material 3 Expressive, every option here feeds directly into the Compose UI without requiring an app restart (except density scale changes). Access these settings from Settings → Appearance.
Theming
Player
Lyrics
Navigation
Theme
VIVI Music supports both dynamic Material You coloring drawn from album art as well as a static accent color picker, so you can match your phone’s system wallpaper palette or lock in a specific brand hue.| Preference Key | Type | Default | Description |
|---|
dynamicTheme | Boolean | true | Extracts colors from the currently playing album art and applies them across the entire UI using Material You’s dynamic color system. Automatically disabled when a custom static color is selected. |
darkMode | String | System | Controls the overall brightness mode. Options are System default, Light, Dark, and Pure Black (AMOLED). |
pureBlack | Boolean | false | Forces a true #000000 background in dark mode across all screens for AMOLED power savings. |
pureBlackMiniPlayer | Boolean | false | Applies the pure black background specifically to the mini player bar at the bottom of the screen. |
selectedThemeColor | Int | System accent | A static Material 3 color seed used when dynamic theming is off. Selecting any custom color automatically disables dynamicTheme. |
enableDynamicIcon | Boolean | true | Enables the adaptive launcher icon that changes appearance to reflect the selected theme color. A restart prompt appears after toggling. |
enableHighRefreshRate | Boolean | true | Allows VIVI Music to render at your device’s highest supported refresh rate (e.g. 120 Hz). |
enableSettingsPopup | Boolean | false | Shows a quick-access settings popup shortcut within the player interface. |
Dynamic theming works best with album art that has strong, saturated primary colors. For minimal or monochrome artwork, setting a static selectedThemeColor gives more consistent results.
Player Design
These settings control the visual layout, background effects, thumbnail treatment, and button styling of the full-screen and mini player.Player Layout
| Preference Key | Type | Default | Description |
|---|
useNewPlayerDesign | Boolean | false | Switches to the alternate full-screen player layout. When enabled, the audio quality badge is hidden. |
useNewMiniPlayerDesign | Boolean | true | Switches to the updated mini player bar design. |
useExpressiveAlbumDesign | Boolean | true | Enables the Material 3 Expressive album page layout with large hero imagery. |
expressiveSongAlbumImage | Boolean | false | Shows the individual song thumbnail in the track list on the expressive album page. Visible only when useExpressiveAlbumDesign is on. |
Background Style
The playerBackgroundStyle key (PlayerBackgroundStyleKey) accepts values from the PlayerBackgroundStyle enum:| Value | Description |
|---|
DEFAULT | Follows the active Material 3 theme color |
GRADIENT | Soft gradient derived from the album art palette (default) |
BLUR | Real-time background blur (requires Android 12+) |
GLOW_ANIMATED | Animated glowing aura around the album art |
APPLE_MUSIC | Apple Music–inspired layered blur background |
LIVE_MESH | Animated mesh gradient that morphs with the music |
The miniPlayerBackgroundStyle key offers the same options except APPLE_MUSIC.Thumbnail
| Preference Key | Type | Default | Description |
|---|
hidePlayerThumbnail | Boolean | false | Hides the album art thumbnail entirely in the full-screen player. |
showPlayerThumbnailShadow | Boolean | false | Draws a drop shadow beneath the album art. |
playerThumbnailShadowElevation | Float | 8f | Shadow depth in dp, adjustable from 2 dp to 24 dp via slider. Only visible when showPlayerThumbnailShadow is enabled. |
thumbnailCornerRadius | Float | 3f | Corner radius of the album art thumbnail in dp. Configurable via a visual picker dialog. |
cropAlbumArt | Boolean | false | Crops non-square album art to fill the thumbnail frame. |
rotatingThumbnail | Boolean | false | Slowly rotates the album art thumbnail while a track is playing, like a spinning vinyl disc. |
The player_buttons_style key accepts values from the PlayerButtonsStyle enum:| Value | Description |
|---|
DEFAULT | Standard icon-only buttons |
PRIMARY | Buttons tinted with the primary Material 3 color |
TERTIARY | Buttons tinted with the tertiary Material 3 color |
The sliderStyle key accepts values from the SliderStyle enum:| Value | Description |
|---|
DEFAULT | Standard Material 3 slider with a thumb |
WAVY | Animated wavy bar that pulses with playback |
SLIM | Minimal thumbless track bar (default) |
| Preference Key | Type | Default | Description |
|---|
squigglySlider | Boolean | false | When combined with SliderStyle.WAVY, renders a squiggly animated seek bar. Select “Squiggly” in the slider picker to enable this automatically. |
swipeThumbnail | Boolean | true | Enables swiping the album art left/right to skip tracks. |
swipeSensitivity | Float | 0.73f | Adjusts how far you must swipe to trigger a track change, expressed as a percentage (0–100%). |
Canvas
VIVI Canvas plays animated video loops behind the album art in the full-screen player, sourced from multiple backends.The canvasSource key accepts values from the CanvasSource enum:| Value | Description |
|---|
AUTO | Automatically picks the best available canvas source |
APPLE_MUSIC | Pulls animated visuals from the Apple Music catalog |
VIVIMUSIC | Uses VIVI’s own curated canvas library |
TIDAL | Pulls animated visuals from the Tidal catalog |
| Preference Key | Type | Default | Description |
|---|
canvasThumbnailAnimation | Boolean | true | Enables the animated canvas video layer. Setting this to false disables canvas globally regardless of source. |
The Canvas source and animation toggle are accessible via Settings → Appearance → VIVI Canvas which navigates to the dedicated canvas sub-screen.
Lyrics Display
All lyrics appearance options live under the Lyrics settings group in Appearance.| Preference Key | Type | Default | Description |
|---|
lyricsTextSize | Float | 24f | Font size of the active lyrics line in sp. Adjustable from 16 sp to 36 sp via a slider dialog. |
lyricsLineSpacing | Float | 1.3f | Multiplier for the spacing between lyrics lines (1.0× – 4.0×). |
lyricsTextPosition | String | LEFT | Horizontal alignment of lyrics text. Options: LEFT, CENTER, RIGHT. |
Animation Style
The lyricsAnimationStyle key accepts values from the LyricsAnimationStyle enum:| Value | Description |
|---|
NONE | No animation; lyrics switch instantly |
FADE | Crossfade between active and inactive lines |
GLOW | Active line glows with the theme accent color |
SLIDE | Lines slide vertically into position |
KARAOKE | Syllable-level highlight sweeps across each word |
APPLE | Apple Music–style line-by-line reveal |
APPLE_V2 | Apple Music–style with per-letter timing |
VIVIMUSIC_1 | VIVI’s signature layered animation (default) |
LYRICS_V2 | Fluid line transitions with momentum |
METRO_LYRICS | Metro-style bold block transitions |
Blur & Glow Effects
| Preference Key | Type | Default | Description |
|---|
lyricsGlowEffect | Boolean | false | Adds a colored glow bloom around the active lyrics line. |
appleMusicLyricsBlur | Boolean | true | Blurs inactive lyrics lines for a depth-of-field feel. Only available with VIVIMUSIC_1 animation on Android 12+. |
lyricsStandardBlur | Boolean | false | Applies a background blur behind the lyrics panel. Requires Android 12+. |
Interaction
| Preference Key | Type | Default | Description |
|---|
lyricsClick | Boolean | true | Tapping a lyrics line seeks the track to that timestamp. |
lyricsScrollKey | Boolean | true | Auto-scrolls the lyrics panel to keep the active line centered. |
swipeLyrics | Boolean | false | Swipe the lyrics panel horizontally to skip to the next or previous track. |
enableLyricsThumbnailPlayPause | Boolean | false | Tap the album art thumbnail visible on the lyrics screen to play or pause. |
Navigation & Layout
These settings shape the structural layout of the app: which tab opens first, how the navigation bar looks, and how content grids are sized.Navigation Bar
| Preference Key | Type | Default | Description |
|---|
defaultOpenTab | String | HOME | The tab shown when VIVI Music launches. Options: HOME, SEARCH, LIBRARY. |
slimNavBar | Boolean | false | Reduces the height of the bottom navigation bar for a more compact look. |
floatingNavBar | Boolean | false | Lifts the navigation bar off the screen edge with rounded corners and a floating card appearance. Added in v6.0.5. |
Library & Grid
| Preference Key | Type | Default | Description |
|---|
gridItemSize | String | SMALL | Controls the size of cards in grid views. SMALL fits more items per row; BIG uses larger artwork. |
density_scale_factor | Float | 1.0f | Scales the overall UI density. Requires an app restart to apply. |
The DensityScale enum maps float values to labeled presets:| Enum Value | Scale | Label |
|---|
NATIVE | 1.0 | Native (100%) |
SLIGHTLY_COMPACT | 0.85 | Slightly Compact (85%) |
COMPACT | 0.75 | Compact (75%) |
VERY_COMPACT | 0.65 | Very Compact (65%) |
ULTRA_COMPACT | 0.55 | Ultra Compact (55%) |
Changing the Display Density setting writes to SharedPreferences and takes effect only after VIVI Music is fully restarted. A restart dialog appears automatically when you change this value.
Font
The selected_font key accepts values from the AppFont enum:| Enum Value | String Value | Description |
|---|
SYSTEM | "system" | Follows the device system font (default) |
GOOGLE_SANS | "google_sans" | Google Sans — friendly and rounded |
SANS_FLEX | "sans_flex" | Sans Flex — variable-weight geometric sans |
OUTFIT | "outfit" | Outfit — modern geometric with warmth |
PLUS_JAKARTA_SANS | "plus_jakarta_sans" | Plus Jakarta Sans — clean professional sans |
Miscellaneous Layout
| Preference Key | Type | Default | Description |
|---|
SwipeToSong | Boolean | false | Swipe a track in a list to add it to the queue. |
SwipeToRemoveSong | Boolean | false | Swipe a track in the queue to remove it. |
show_audio_quality_badge | Boolean | false | Displays an audio quality badge (e.g. “HIGH”) on the player. Only visible when the legacy player design is active. |
show_comment_button | Boolean | true | Shows a comment button in the full-screen player. |