[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