diff --git a/app/src/main/java/com/tommasoberlose/anotherwidget/components/BottomSheetColorPicker.kt b/app/src/main/java/com/tommasoberlose/anotherwidget/components/BottomSheetColorPicker.kt
index 26570f3..e11eb1d 100644
--- a/app/src/main/java/com/tommasoberlose/anotherwidget/components/BottomSheetColorPicker.kt
+++ b/app/src/main/java/com/tommasoberlose/anotherwidget/components/BottomSheetColorPicker.kt
@@ -143,7 +143,6 @@ class BottomSheetColorPicker(
             withContext(Dispatchers.Main) {
                 binding.loader.isVisible = false
                 binding.listContainer.addView(listBinding.root)
-                this@BottomSheetColorPicker.behavior.state = BottomSheetBehavior.STATE_EXPANDED
                 binding.listContainer.isVisible = true
 
                 val idx = colors.toList().indexOf(getSelected?.invoke())
@@ -152,6 +151,10 @@ class BottomSheetColorPicker(
         })
 
         setContentView(binding.root)
+        behavior.run {
+            skipCollapsed = true
+            state = BottomSheetBehavior.STATE_EXPANDED
+        }
         super.show()
     }
 
diff --git a/app/src/main/java/com/tommasoberlose/anotherwidget/components/BottomSheetMenu.kt b/app/src/main/java/com/tommasoberlose/anotherwidget/components/BottomSheetMenu.kt
index 7d69f30..a986afe 100644
--- a/app/src/main/java/com/tommasoberlose/anotherwidget/components/BottomSheetMenu.kt
+++ b/app/src/main/java/com/tommasoberlose/anotherwidget/components/BottomSheetMenu.kt
@@ -108,6 +108,10 @@ open class BottomSheetMenu<T>(context: Context, private val header: String? = nu
             }
         }
         setContentView(binding.root)
+        behavior.run {
+            skipCollapsed = true
+            state = com.google.android.material.bottomsheet.BottomSheetBehavior.STATE_EXPANDED
+        }
         super.show()
     }
 
diff --git a/app/src/main/java/com/tommasoberlose/anotherwidget/components/BottomSheetPicker.kt b/app/src/main/java/com/tommasoberlose/anotherwidget/components/BottomSheetPicker.kt
index 8c1a358..b3cf7d4 100644
--- a/app/src/main/java/com/tommasoberlose/anotherwidget/components/BottomSheetPicker.kt
+++ b/app/src/main/java/com/tommasoberlose/anotherwidget/components/BottomSheetPicker.kt
@@ -86,7 +86,6 @@ class BottomSheetPicker<T>(
             withContext(Dispatchers.Main) {
                 binding.loader.isVisible = false
                 binding.listContainer.addView(listBinding.root)
-                this@BottomSheetPicker.behavior.state = BottomSheetBehavior.STATE_EXPANDED
                 binding.listContainer.isVisible = true
 
                 val idx = items.toList().indexOfFirst { it.value == getSelected?.invoke() }
@@ -95,6 +94,10 @@ class BottomSheetPicker<T>(
         })
 
         setContentView(binding.root)
+        behavior.run {
+            skipCollapsed = true
+            state = BottomSheetBehavior.STATE_EXPANDED
+        }
         super.show()
     }
 
diff --git a/app/src/main/java/com/tommasoberlose/anotherwidget/components/BottomSheetWeatherProviderSettings.kt b/app/src/main/java/com/tommasoberlose/anotherwidget/components/BottomSheetWeatherProviderSettings.kt
index 86b4e70..cf5863c 100644
--- a/app/src/main/java/com/tommasoberlose/anotherwidget/components/BottomSheetWeatherProviderSettings.kt
+++ b/app/src/main/java/com/tommasoberlose/anotherwidget/components/BottomSheetWeatherProviderSettings.kt
@@ -61,5 +61,9 @@ class BottomSheetWeatherProviderSettings(context: Context, callback: () -> Unit)
         }
 
         setContentView(binding.root)
+        behavior.run {
+            skipCollapsed = true
+            state = com.google.android.material.bottomsheet.BottomSheetBehavior.STATE_EXPANDED
+        }
     }
 }
\ No newline at end of file
diff --git a/app/src/main/java/com/tommasoberlose/anotherwidget/components/CustomNotesDialog.kt b/app/src/main/java/com/tommasoberlose/anotherwidget/components/CustomNotesDialog.kt
index 60e7f2c..924655a 100644
--- a/app/src/main/java/com/tommasoberlose/anotherwidget/components/CustomNotesDialog.kt
+++ b/app/src/main/java/com/tommasoberlose/anotherwidget/components/CustomNotesDialog.kt
@@ -26,5 +26,9 @@ class CustomNotesDialog(context: Context, callback: (() -> Unit)?) : BottomSheet
         binding.notes.requestFocus()
 
         setContentView(binding.root)
+        behavior.run {
+            skipCollapsed = true
+            state = com.google.android.material.bottomsheet.BottomSheetBehavior.STATE_EXPANDED
+        }
     }
 }
\ No newline at end of file
diff --git a/app/src/main/java/com/tommasoberlose/anotherwidget/components/GlanceSettingsDialog.kt b/app/src/main/java/com/tommasoberlose/anotherwidget/components/GlanceSettingsDialog.kt
index 628c088..be6af9a 100644
--- a/app/src/main/java/com/tommasoberlose/anotherwidget/components/GlanceSettingsDialog.kt
+++ b/app/src/main/java/com/tommasoberlose/anotherwidget/components/GlanceSettingsDialog.kt
@@ -217,6 +217,10 @@ class GlanceSettingsDialog(val context: Activity, val provider: Constants.Glance
         }
 
         setContentView(binding.root)
+        behavior.run {
+            skipCollapsed = true
+            state = com.google.android.material.bottomsheet.BottomSheetBehavior.STATE_EXPANDED
+        }
         super.show()
     }
     
diff --git a/app/src/main/java/com/tommasoberlose/anotherwidget/components/IconPackSelector.kt b/app/src/main/java/com/tommasoberlose/anotherwidget/components/IconPackSelector.kt
index 476cc0c..a76a826 100644
--- a/app/src/main/java/com/tommasoberlose/anotherwidget/components/IconPackSelector.kt
+++ b/app/src/main/java/com/tommasoberlose/anotherwidget/components/IconPackSelector.kt
@@ -50,6 +50,10 @@ class IconPackSelector(context: Context, private val header: String? = null) : B
             binding.menu.addView(itemBinding.root)
         }
         setContentView(binding.root)
+        behavior.run {
+            skipCollapsed = true
+            state = com.google.android.material.bottomsheet.BottomSheetBehavior.STATE_EXPANDED
+        }
         super.show()
     }
 }
\ No newline at end of file
diff --git a/app/src/main/java/com/tommasoberlose/anotherwidget/components/MaterialBottomSheetDialog.kt b/app/src/main/java/com/tommasoberlose/anotherwidget/components/MaterialBottomSheetDialog.kt
index 262e8e8..eeb60af 100644
--- a/app/src/main/java/com/tommasoberlose/anotherwidget/components/MaterialBottomSheetDialog.kt
+++ b/app/src/main/java/com/tommasoberlose/anotherwidget/components/MaterialBottomSheetDialog.kt
@@ -57,6 +57,10 @@ class MaterialBottomSheetDialog(
         }
 
         setContentView(binding.root)
+        behavior.run {
+            skipCollapsed = true
+            state = com.google.android.material.bottomsheet.BottomSheetBehavior.STATE_EXPANDED
+        }
         super.show()
     }
 
diff --git a/app/src/main/java/com/tommasoberlose/anotherwidget/ui/fragments/tabs/ClockFragment.kt b/app/src/main/java/com/tommasoberlose/anotherwidget/ui/fragments/tabs/ClockFragment.kt
index dab9185..57720c4 100644
--- a/app/src/main/java/com/tommasoberlose/anotherwidget/ui/fragments/tabs/ClockFragment.kt
+++ b/app/src/main/java/com/tommasoberlose/anotherwidget/ui/fragments/tabs/ClockFragment.kt
@@ -17,7 +17,7 @@ import com.chibatching.kotpref.bulk
 import com.google.android.material.transition.MaterialSharedAxis
 import com.tommasoberlose.anotherwidget.R
 import com.tommasoberlose.anotherwidget.components.BottomSheetColorPicker
-import com.tommasoberlose.anotherwidget.components.BottomSheetMenu
+import com.tommasoberlose.anotherwidget.components.BottomSheetPicker
 import com.tommasoberlose.anotherwidget.databinding.FragmentTabClockBinding
 import com.tommasoberlose.anotherwidget.global.Constants
 import com.tommasoberlose.anotherwidget.global.Preferences
@@ -144,16 +144,15 @@ class ClockFragment : Fragment() {
     private fun setupListener() {
 
         binding.actionClockTextSize.setOnClickListener {
-            val dialog = BottomSheetMenu<Float>(
+            BottomSheetPicker(
                 requireContext(),
-                header = getString(R.string.settings_clock_text_size_title)
-            ).setSelectedValue(Preferences.clockTextSize)
-            (46 downTo 12).filter { it % 2 == 0 }.forEach {
-                dialog.addItem("${it}sp", it.toFloat())
-            }
-            dialog.addOnSelectItemListener { value ->
-                Preferences.clockTextSize = value
-            }.show()
+                items = (46 downTo 12).map { BottomSheetPicker.MenuItem("${it}sp", it.toFloat()) },
+                getSelected = { Preferences.clockTextSize },
+                header = getString(R.string.settings_clock_text_size_title),
+                onItemSelected = {value ->
+                    if (value != null) Preferences.clockTextSize = value
+                }
+            ).show()
         }
 
         binding.actionAltTimezoneClock.setOnClickListener {