add ScrollView to player language/subtitles selection

This commit is contained in:
Jannik 2022-11-05 11:24:16 +01:00
parent 71d5c58653
commit 777c6e0212
Signed by: Seil0
GPG Key ID: E8459F3723C52C24
2 changed files with 22 additions and 6 deletions

View File

@ -25,6 +25,7 @@ class LanguageSettingsDialogFragment : DialogFragment() {
private lateinit var binding: PlayerLanguageSettingsBinding
private var selectedLocale = Locale.ROOT
private var selectedView: View? = null
companion object {
const val TAG = "LanguageSettingsDialogFragment"
@ -62,6 +63,12 @@ class LanguageSettingsDialogFragment : DialogFragment() {
// initially hide the status and navigation bar
hideBars(requireDialog().window, binding.root)
// scroll to the position of the view, if it's the selected language
binding.scrollLanguages.post {
println("top: ${selectedView?.top}")
binding.scrollLanguages.scrollTo(0, selectedView?.top ?: 0)
}
}
override fun onDismiss(dialog: DialogInterface) {
@ -82,6 +89,8 @@ class LanguageSettingsDialogFragment : DialogFragment() {
setCompoundDrawablesRelativeWithIntrinsicBounds(R.drawable.ic_baseline_check_24, 0, 0, 0)
compoundDrawablesRelative.getOrNull(0)?.setTint(Color.WHITE)
compoundDrawablePadding = 12
selectedView = this
} else {
setTextColor(context.resources.getColor(R.color.textSecondaryDark, context.theme))
setPadding(75, 0, 0, 0)

View File

@ -44,17 +44,24 @@
</LinearLayout>
<LinearLayout
android:id="@+id/linear_languages"
<ScrollView
android:id="@+id/scroll_languages"
android:layout_width="0dp"
android:layout_height="0dp"
android:layout_marginStart="56dp"
android:layout_marginEnd="56dp"
android:orientation="vertical"
android:contentDescription="@string/language"
app:layout_constraintBottom_toTopOf="@+id/linear_bottom"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toBottomOf="@+id/linear_top" />
app:layout_constraintTop_toBottomOf="@+id/linear_top">
<LinearLayout
android:id="@+id/linear_languages"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginStart="56dp"
android:layout_marginEnd="56dp"
android:orientation="vertical" />
</ScrollView>
<LinearLayout
android:id="@+id/linear_bottom"