Archived
Text Basic 2.0.0: quick fix on the dropdown menu, implemented a custom DropdownAdapter.kt because a bug on the dropdown menus from years ago still has not been fixed... I encountered this bug in a project back in 2019. How is this still a thing?
This commit is contained in:
@@ -0,0 +1,18 @@
|
||||
package com.denizd.textbasic.adapter
|
||||
|
||||
import android.content.Context
|
||||
import android.widget.ArrayAdapter
|
||||
import android.widget.Filter
|
||||
import com.denizd.textbasic.R
|
||||
|
||||
class DropdownAdapter(context: Context, items: List<String>)
|
||||
: ArrayAdapter<String>(context, R.layout.item_dropdown, items) {
|
||||
|
||||
private val noOpFilter = object : Filter() {
|
||||
private val noOpResult = FilterResults()
|
||||
override fun performFiltering(constraint: CharSequence?) = noOpResult
|
||||
override fun publishResults(constraint: CharSequence?, results: FilterResults?) {}
|
||||
}
|
||||
|
||||
override fun getFilter() = noOpFilter
|
||||
}
|
||||
@@ -8,7 +8,6 @@ import android.os.Bundle
|
||||
import android.util.TypedValue
|
||||
import android.view.View
|
||||
import android.view.ViewGroup
|
||||
import android.widget.ArrayAdapter
|
||||
import android.widget.ImageButton
|
||||
import android.widget.TextView
|
||||
import androidx.annotation.ColorInt
|
||||
@@ -16,6 +15,7 @@ import androidx.annotation.StringRes
|
||||
import androidx.transition.TransitionManager
|
||||
import com.denizd.textbasic.BuildConfig
|
||||
import com.denizd.textbasic.R
|
||||
import com.denizd.textbasic.adapter.DropdownAdapter
|
||||
import com.denizd.textbasic.databinding.FragmentSettingsNewBinding
|
||||
import com.denizd.textbasic.db.QuoteStorage
|
||||
import com.denizd.textbasic.sheet.TextSheet
|
||||
@@ -41,10 +41,9 @@ class SettingsNewFragment : BaseFragment(R.layout.fragment_settings_new) {
|
||||
storage = QuoteStorage.getInstance(context)
|
||||
|
||||
// --- text font --- //
|
||||
val fontAdapter = ArrayAdapter.createFromResource(
|
||||
val fontAdapter = DropdownAdapter(
|
||||
context,
|
||||
R.array.text_fonts,
|
||||
R.layout.item_dropdown,
|
||||
context.resources.getStringArray(R.array.text_fonts).toList(),
|
||||
)
|
||||
|
||||
binding.autoCompleteFont.setAdapter(fontAdapter)
|
||||
|
||||
@@ -0,0 +1,16 @@
|
||||
package com.denizd.textbasic.view
|
||||
|
||||
import android.content.Context
|
||||
import android.util.AttributeSet
|
||||
import com.google.android.material.textfield.MaterialAutoCompleteTextView
|
||||
|
||||
class ExposedDropdownMenu @JvmOverloads constructor(
|
||||
context: Context,
|
||||
attrs: AttributeSet? = null,
|
||||
defStyleAttr: Int = 0,
|
||||
) : MaterialAutoCompleteTextView(context, attrs, defStyleAttr) {
|
||||
|
||||
override fun getFreezesText(): Boolean {
|
||||
return false
|
||||
}
|
||||
}
|
||||
@@ -41,5 +41,6 @@
|
||||
ads:layout_constraintBottom_toBottomOf="parent"
|
||||
ads:layout_constraintStart_toStartOf="parent"
|
||||
ads:layout_constraintEnd_toEndOf="parent"/>
|
||||
<!-- ads:adUnitId="ca-app-pub-6028283326987089/7147449316"-->
|
||||
|
||||
</androidx.constraintlayout.widget.ConstraintLayout>
|
||||
Reference in New Issue
Block a user