[Android] Improve the equalizer selected state

Nicolas Pomepuy git at videolan.org
Thu Aug 28 15:56:19 UTC 2025


vlc-android | branch: master | Nicolas Pomepuy <nicolas at videolabs.io> | Thu Aug 28 11:11:29 2025 +0200| [3d92464dd58d6e81694f91dba4eeaa21ebda5ca7] | committer: Nicolas Pomepuy

Improve the equalizer selected state

> https://code.videolan.org/videolan/vlc-android/commit/3d92464dd58d6e81694f91dba4eeaa21ebda5ca7
---

 application/resources/src/main/res/values/attrs.xml        |  1 +
 .../vlc-android/res/layout/equalizer_setting_item.xml      |  2 +-
 application/vlc-android/res/values/styles.xml              |  2 ++
 .../src/org/videolan/vlc/gui/EqualizerSettingsActivity.kt  | 14 ++++++++++++++
 4 files changed, 18 insertions(+), 1 deletion(-)

diff --git a/application/resources/src/main/res/values/attrs.xml b/application/resources/src/main/res/values/attrs.xml
index 47b538662c..996b041a58 100644
--- a/application/resources/src/main/res/values/attrs.xml
+++ b/application/resources/src/main/res/values/attrs.xml
@@ -30,6 +30,7 @@
     <attr name="audio_header_background" format="reference|color" />
     <attr name="audio_header_divider" format="color" />
     <attr name="default_divider" format="color" />
+    <attr name="subtle_selection" format="color" />
     <attr name="audio_menu_icon" format="color" />
     <attr name="audio_list_background" format="reference|color" />
     <attr name="bottom_sheet_background" format="reference|color" />
diff --git a/application/vlc-android/res/layout/equalizer_setting_item.xml b/application/vlc-android/res/layout/equalizer_setting_item.xml
index 945a65b1af..e7927357d3 100644
--- a/application/vlc-android/res/layout/equalizer_setting_item.xml
+++ b/application/vlc-android/res/layout/equalizer_setting_item.xml
@@ -26,7 +26,7 @@
             android:layout_height="wrap_content"
             android:gravity="center_horizontal"
             android:clickable="true"
-            android:background="@{current ? @color/orange_500_transparent_20 : @color/transparent}"
+            app:equalizerBackgroundColor="@{current}"
             android:orientation="vertical"
             android:focusable="true">
 
diff --git a/application/vlc-android/res/values/styles.xml b/application/vlc-android/res/values/styles.xml
index 97850a2d12..f01c808de4 100644
--- a/application/vlc-android/res/values/styles.xml
+++ b/application/vlc-android/res/values/styles.xml
@@ -43,6 +43,7 @@
         <item name="audio_header_background">@color/white</item>
         <item name="audio_header_divider">@color/grey400</item>
         <item name="default_divider">@color/black_transparent_20</item>
+        <item name="subtle_selection">@color/black_transparent_10</item>
         <item name="audio_menu_icon">@color/black_transparent_50</item>
         <item name="audio_list_background">@drawable/audio_list_background</item>
         <item name="audio_seek_bar">@drawable/audio_seekbar</item>
@@ -236,6 +237,7 @@
         <item name="audio_header_background">@color/mini_player_dark</item>
         <item name="audio_header_divider">@color/black</item>
         <item name="default_divider">@color/white_transparent_20</item>
+        <item name="subtle_selection">@color/white_transparent_10</item>
         <item name="audio_menu_icon">@color/white_transparent_50</item>
         <item name="audio_list_background">@drawable/audio_list_background_black</item>
         <item name="audio_seek_bar">@drawable/audio_seekbar_black</item>
diff --git a/application/vlc-android/src/org/videolan/vlc/gui/EqualizerSettingsActivity.kt b/application/vlc-android/src/org/videolan/vlc/gui/EqualizerSettingsActivity.kt
index c207191e9a..f40b9e1b38 100644
--- a/application/vlc-android/src/org/videolan/vlc/gui/EqualizerSettingsActivity.kt
+++ b/application/vlc-android/src/org/videolan/vlc/gui/EqualizerSettingsActivity.kt
@@ -8,6 +8,7 @@ import android.graphics.Paint
 import android.graphics.Path
 import android.graphics.Rect
 import android.graphics.RectF
+import android.graphics.drawable.ColorDrawable
 import android.os.Bundle
 import android.util.Log
 import android.util.TypedValue
@@ -52,6 +53,7 @@ import org.videolan.vlc.util.FileUtils
 import org.videolan.vlc.util.JsonUtil
 import org.videolan.vlc.viewmodels.EqualizerViewModel
 import org.videolan.vlc.viewmodels.EqualizerViewModelFactory
+import androidx.core.graphics.drawable.toDrawable
 
 private const val FILE_PICKER_RESULT_CODE = 10000
 private const val FILE_PICKER_ALL_RESULT_CODE = 10001
@@ -326,4 +328,16 @@ fun equalizerNameColor(view: TextView, item: EqualizerWithBands) {
     view.setTextColor(color)
 }
 
+ at BindingAdapter("equalizerBackgroundColor")
+fun equalizerBackgroundColor(view: View, current: Boolean) {
+    if (current) {
+        val typedValue = TypedValue()
+        val theme = view.context.theme
+        theme.resolveAttribute(R.attr.subtle_selection, typedValue, true)
+        @ColorInt val color: Int = typedValue.data
+        view.background = color.toDrawable()
+    } else view.background = null
+
+}
+
 



More information about the Android mailing list